About SDL_BLENDOPERATION_SUBTRACT

Having some trouble composing a blend mode.
What I want is a blend mode in Photoshop called ‘Linear deepening’:
dstRGB = max(dstRGB + srcRGB - 1, 0)
I reverse the color of src picture and try to achive It by:
src1RGB = 1 - srcRGB
dstRGB = max(dstRGB - src1RGB, 0)

so I use the code:
Create renderer code:
SDL_SetHint(SDL_HINT_RENDER_DRIVER, “opengl”);
myRenderer = SDL_CreateRenderer(myWindow, -1, SDL_RENDERER_ACCELERATED);

Compose a custom blend mode:
SDL_BlendMode blendmode_sub = SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDFACTOR_ONE, SDL_BLENDOPERATION_SUBTRACT,
SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_ONE, SDL_BLENDOPERATION_SUBTRACT);

And when I’m using this blendmode, I found the SDL_BLENDOPERATION_SUBTRACT maybe:
|dst - src|
rather than
max(dst - src, 0)