Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, A

Time bar (total: 35.2s)

analyze700.0ms (2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
50%49.9%49.9%0.2%0%0%0%4
50%49.9%49.9%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
66.7%49.9%25%0.2%0%25%0%8
66.7%49.9%25%0.2%0%25%0%9
66.7%49.9%25%0.2%0%25%0%10
66.7%49.9%25%0.2%0%25%0%11
80%49.9%12.5%0.2%0%37.4%0%12
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample34.0s (96.5%)

Results
3.1s8256×0valid-rival
5.6s5821×0invalid-sollya
533.0ms4111×0valid-sollya
651.0ms1991×0invalid-rival
1.6s315×0exit-sollya
Bogosity

preprocess337.0ms (1%)

Algorithm
egg-herbie
Rules
733×times-frac
461×distribute-lft-in
444×unsub-neg
437×fma-define
425×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0811056
12091024
25221016
316251008
446241008
573041008
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y)) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 (neg.f64 t) (neg.f64 t)) #s(literal 2 binary64))))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y)) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 (neg.f64 t) (neg.f64 t)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (-.f64 (*.f64 y #s(literal 1/2 binary64)) x) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 z #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 x #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 t #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 x x) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) z) (sqrt.f64 (*.f64 y #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) t) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 y y) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 t #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 z z) #s(literal 2 binary64))))
Outputs
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (pow.f64 (exp.f64 t) t)))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (pow.f64 (exp.f64 t) t)))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (*.f64 (-.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (fma.f64 (neg.f64 x) #s(literal 1/2 binary64) (neg.f64 y))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 x #s(literal -1/2 binary64)) y) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (neg.f64 (fma.f64 x #s(literal 1/2 binary64) y))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 x #s(literal -1/2 binary64)) y)))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y)) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (fma.f64 x #s(literal 1/2 binary64) y) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (fma.f64 x #s(literal 1/2 binary64) y)))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (neg.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (exp.f64 (*.f64 t t)))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (sqrt.f64 (*.f64 z #s(literal -2 binary64)))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 (neg.f64 t) (neg.f64 t)) #s(literal 2 binary64))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (exp.f64 (*.f64 t t))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (sqrt.f64 (pow.f64 (exp.f64 t) t)))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (fma.f64 x #s(literal 1/2 binary64) y) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (fma.f64 x #s(literal 1/2 binary64) y)))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) (neg.f64 y)) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (fma.f64 (neg.f64 x) #s(literal 1/2 binary64) (neg.f64 y))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 x #s(literal -1/2 binary64)) y) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (neg.f64 (fma.f64 x #s(literal 1/2 binary64) y))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 x #s(literal -1/2 binary64)) y)))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 (neg.f64 z) #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64)))))
(*.f64 (neg.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (neg.f64 (*.f64 z #s(literal 2 binary64)))))) (sqrt.f64 (exp.f64 (*.f64 t t))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (neg.f64 (sqrt.f64 (*.f64 z #s(literal -2 binary64))))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (sqrt.f64 (*.f64 z #s(literal -2 binary64)))) (+.f64 y (*.f64 x #s(literal -1/2 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (sqrt.f64 (*.f64 z #s(literal -2 binary64))) (fma.f64 x #s(literal -1/2 binary64) y)))
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 (neg.f64 t) (neg.f64 t)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 (exp.f64 (*.f64 t t)))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (+.f64 y (*.f64 x #s(literal -1/2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (fma.f64 x #s(literal -1/2 binary64) y)))
(*.f64 (*.f64 (-.f64 (*.f64 y #s(literal 1/2 binary64)) x) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) y) x)))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) y) x) (sqrt.f64 (pow.f64 (exp.f64 t) t))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (-.f64 (*.f64 #s(literal 1/2 binary64) y) x)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) y) x)))
(*.f64 (*.f64 (-.f64 (*.f64 z #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 x #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) z) y) (sqrt.f64 (*.f64 x #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) z) y) (sqrt.f64 (*.f64 x #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 x #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (-.f64 (*.f64 #s(literal 1/2 binary64) z) y)))
(*.f64 (*.f64 (-.f64 (*.f64 t #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 x x) #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) t) y)) (sqrt.f64 (exp.f64 (*.f64 x x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) t) y)) (sqrt.f64 (pow.f64 (exp.f64 x) x)))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) z) (sqrt.f64 (*.f64 y #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (exp.f64 (*.f64 t t))) (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) z) (sqrt.f64 (*.f64 y #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) z) (sqrt.f64 (*.f64 y #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 t) t)) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (neg.f64 z)) (sqrt.f64 (*.f64 y #s(literal 2 binary64)))))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) t) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 y y) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) t) (*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (sqrt.f64 (exp.f64 (*.f64 y y)))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) t) (sqrt.f64 (exp.f64 (*.f64 y y)))))
(*.f64 (sqrt.f64 (*.f64 z #s(literal 2 binary64))) (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) t) (pow.f64 (sqrt.f64 (exp.f64 y)) y)))
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 t #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 z z) #s(literal 2 binary64))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) t)) (sqrt.f64 (exp.f64 (*.f64 z z)))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) t)) (sqrt.f64 (pow.f64 (exp.f64 z) z))))
(*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) t)) (pow.f64 (sqrt.f64 (exp.f64 z)) z)))
Symmetry

(abs t)

Compiler

Compiled 21 to 15 computations (28.6% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
Compiler

Compiled 42 to 30 computations (28.6% saved)

simplify19.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
sub-neg
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02366
12966
23466
33666
43766
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))
Outputs
(*.f64 (*.f64 (-.f64 (*.f64 x #s(literal 1/2 binary64)) y) (sqrt.f64 (*.f64 z #s(literal 2 binary64)))) (exp.f64 (/.f64 (*.f64 t t) #s(literal 2 binary64))))

soundness3.0ms (0%)

Stop Event
fuel
Compiler

Compiled 21 to 15 computations (28.6% saved)

preprocess160.0ms (0.5%)

Remove

(abs t)

Compiler

Compiled 214 to 154 computations (28% saved)

end0.0ms (0%)

Profiling

Loading profile data...