Details

Time bar (total: 1.4s)

analyze174.0ms (12.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
43.7%56.2%0.1%7
56.2%43.7%0.1%8
70.2%29.7%0.1%9
76.5%23.4%0.1%10
84.7%15.2%0.1%11
87.8%12.1%0.1%12
92.2%7.7%0.1%13
93.7%6.2%0.1%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample839.0ms (59.3%)

Results
827.0ms8256×body128valid
Compiler

Compiled 24 to 16 computations (33.3% saved)

preprocess40.0ms (2.8%)

Algorithm
egg-herbie
Rules
968×fma-neg_binary64
788×div-sub_binary64
502×times-frac_binary64
281×associate-/r*_binary64
270×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
12726
27126
316826
432726
572026
6156622
7407622
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
(/.f64 (*.f64 (*.f64 y 2) x) (-.f64 y x))
Outputs
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
(/.f64 (*.f64 x (*.f64 2 y)) (-.f64 x y))
(*.f64 (/.f64 (*.f64 x 2) (-.f64 x y)) y)
(*.f64 (/.f64 x (-.f64 x y)) (*.f64 2 y))
(/.f64 (*.f64 x 2) (+.f64 (/.f64 x y) -1))
(/.f64 x (/.f64 (-.f64 x y) (*.f64 2 y)))
(*.f64 x (*.f64 -2 (/.f64 y (-.f64 y x))))
(/.f64 y (fma.f64 (/.f64 y x) -1/2 1/2))
(/.f64 x (fma.f64 (/.f64 x y) 1/2 -1/2))
(/.f64 (*.f64 (*.f64 y 2) x) (-.f64 y x))
(/.f64 (*.f64 x (*.f64 2 y)) (-.f64 y x))
(/.f64 (*.f64 x 2) (/.f64 (-.f64 y x) y))
(*.f64 x (/.f64 2 (-.f64 1 (/.f64 x y))))
(*.f64 x (/.f64 (*.f64 2 y) (-.f64 y x)))
(/.f64 x (fma.f64 (/.f64 x y) -1/2 1/2))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify18.0ms (1.3%)

Algorithm
egg-herbie
Rules
546×times-frac_binary64
408×fma-def_binary64
310×div-sub_binary64
277×associate-/l*_binary64
265×associate-/r*_binary64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0813
11613
24113
38713
417813
535613
665211
7139811
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
Outputs
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
(/.f64 (*.f64 x 2) (/.f64 (-.f64 x y) y))
(/.f64 x (/.f64 (-.f64 x y) (*.f64 2 y)))
(*.f64 y (/.f64 2 (/.f64 (-.f64 x y) x)))
(*.f64 (*.f64 2 y) (/.f64 x (-.f64 x y)))
(/.f64 y (fma.f64 (/.f64 y x) -1/2 1/2))
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))

prune3.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
15.7b
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
Compiler

Compiled 61 to 40 computations (34.4% saved)

localize5.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
8.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))

series8.0ms (0.6%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x
@0
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
1.0ms
x
@inf
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
1.0ms
x
@-inf
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
1.0ms
y
@inf
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
1.0ms
y
@-inf
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))

rewrite39.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
809×log1p-expm1-u_binary64
809×expm1-log1p-u_binary64
86×add-sqr-sqrt_binary64
82×*-un-lft-identity_binary64
82×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
117111
2216111
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) 2) (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (sqrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2)) 2)) (/.f64 x (cbrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2)) 2)) (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 x (sqrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/2 (/.f64 x y) -1/2) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 1/2 (/.f64 x y) -1/2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))))

simplify40.0ms (2.8%)

Algorithm
egg-herbie
Rules
821×fma-def_binary64
543×associate-/r*_binary64
486×associate-*l/_binary64
325×associate-*r/_binary64
294×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034492
1105480
2329438
31285402
Stop Event
node limit
Counts
57 → 47
Calls
Call 1
Inputs
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
Outputs
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) x)))
(*.f64 -2 (fma.f64 (/.f64 x y) x x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x)))
(*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y))))
(*.f64 -2 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y)))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(*.f64 2 (+.f64 y (/.f64 (*.f64 y y) x)))
(*.f64 2 (+.f64 y (/.f64 y (/.f64 x y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) y)))
(*.f64 2 (fma.f64 (/.f64 y x) y y))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x))))
(*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x)))))
(*.f64 2 (+.f64 y (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x))))))
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y)) (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(*.f64 2 (+.f64 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))) (/.f64 (pow.f64 y 4) (pow.f64 x 3))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(*.f64 2 (+.f64 y (/.f64 (*.f64 y y) x)))
(*.f64 2 (+.f64 y (/.f64 y (/.f64 x y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) y)))
(*.f64 2 (fma.f64 (/.f64 y x) y y))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x))))
(*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x)))))
(*.f64 2 (+.f64 y (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x))))))
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y)) (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(*.f64 2 (+.f64 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))) (/.f64 (pow.f64 y 4) (pow.f64 x 3))))
(*.f64 2 y)
(+.f64 (*.f64 2 y) (*.f64 2 (/.f64 (pow.f64 y 2) x)))
(*.f64 2 (+.f64 y (/.f64 (*.f64 y y) x)))
(*.f64 2 (+.f64 y (/.f64 y (/.f64 x y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) y)))
(*.f64 2 (fma.f64 (/.f64 y x) y y))
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x))))
(fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x))))
(*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x)))))
(*.f64 2 (+.f64 y (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y))))
(*.f64 2 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 (/.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 2 (/.f64 (pow.f64 y 2) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (fma.f64 2 y (*.f64 2 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (/.f64 (*.f64 y y) x)))))
(fma.f64 2 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 2 (+.f64 y (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) (*.f64 x x))))))
(*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 y x) 1) (*.f64 (/.f64 y x) y)) (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(*.f64 2 (+.f64 (+.f64 y (*.f64 (/.f64 y x) (fma.f64 (/.f64 y x) y y))) (/.f64 (pow.f64 y 4) (pow.f64 x 3))))
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) x)))
(*.f64 -2 (fma.f64 (/.f64 x y) x x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x)))
(*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y))))
(*.f64 -2 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y)))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(*.f64 -2 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))
(*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) x)))
(*.f64 -2 (fma.f64 (/.f64 x y) x x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x)))
(fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x)))
(*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y))))
(*.f64 -2 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))))
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 x 2) y)) (*.f64 -2 x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (fma.f64 -2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (*.f64 -2 (+.f64 (/.f64 (*.f64 x x) y) x))))
(fma.f64 -2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (*.f64 -2 (+.f64 (+.f64 x (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 3) (*.f64 y y)))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (*.f64 (/.f64 x y) x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(*.f64 -2 (+.f64 (+.f64 x (*.f64 (/.f64 x y) (fma.f64 (/.f64 x y) x x))) (/.f64 (pow.f64 x 4) (pow.f64 y 3))))

prune26.0ms (1.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New46147
Fresh101
Picked011
Done000
Total47249
Error
0b
Counts
49 → 2
Alt Table
StatusErrorProgram
8.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
30.6b
(*.f64 2 (fma.f64 (/.f64 y x) y y))
Compiler

Compiled 710 to 434 computations (38.9% saved)

localize5.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (/.f64 y x) y y)

series4.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 (/.f64 y x) y y)
1.0ms
y
@inf
(fma.f64 (/.f64 y x) y y)
1.0ms
y
@0
(fma.f64 (/.f64 y x) y y)
1.0ms
x
@-inf
(fma.f64 (/.f64 y x) y y)
1.0ms
x
@0
(fma.f64 (/.f64 y x) y y)

rewrite36.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
579×pow1_binary64
535×add-log-exp_binary64
535×log1p-expm1-u_binary64
535×expm1-log1p-u_binary64
522×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
11058
214078
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(fma.f64 (/.f64 y x) y y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (*.f64 y (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (/.f64 y x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (/.f64 y x)) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (/.f64 y x) y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (/.f64 y x) y y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (/.f64 y x) y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 y x) y y)) (cbrt.f64 (pow.f64 (fma.f64 (/.f64 y x) y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (/.f64 y x) y y) 2)) (cbrt.f64 (fma.f64 (/.f64 y x) y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 y x) y y)) (sqrt.f64 (fma.f64 (/.f64 y x) y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 y x) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (/.f64 y x)) 3) (pow.f64 y 3)) (+.f64 (*.f64 (*.f64 y (/.f64 y x)) (*.f64 y (/.f64 y x))) (-.f64 (*.f64 y y) (*.f64 (*.f64 y (/.f64 y x)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y (/.f64 y x)) (*.f64 y (/.f64 y x))) (*.f64 y y)) (-.f64 (*.f64 y (/.f64 y x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 y x) y y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 y x) y y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 y x) y y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 y x) y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (/.f64 y x) y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (/.f64 y x) y y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 y x) y y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (/.f64 y x) y y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (/.f64 y x) y y)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (/.f64 y x) y y)))))))

simplify27.0ms (1.9%)

Algorithm
egg-herbie
Rules
702×fma-def_binary64
434×unswap-sqr_binary64
423×associate-*r/_binary64
392×associate-/r*_binary64
390×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
07204
113204
222204
340168
489168
5294168
61195168
74053168
Stop Event
node limit
Counts
47 → 28
Calls
Call 1
Inputs
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(/.f64 (pow.f64 y 2) x)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(/.f64 (pow.f64 y 2) x)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(/.f64 (pow.f64 y 2) x)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
Outputs
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
y
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)
(+.f64 (/.f64 (pow.f64 y 2) x) y)
(+.f64 y (/.f64 (*.f64 y y) x))
(+.f64 y (/.f64 y (/.f64 x y)))
(+.f64 y (*.f64 (/.f64 y x) y))
(fma.f64 (/.f64 y x) y y)
(fma.f64 y (/.f64 y x) y)

prune19.0ms (1.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New28028
Fresh000
Picked011
Done011
Total28230
Error
0b
Counts
30 → 2
Alt Table
StatusErrorProgram
8.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
30.6b
(*.f64 2 (fma.f64 (/.f64 y x) y y))
Compiler

Compiled 358 to 150 computations (58.1% saved)

regimes59.0ms (4.2%)

Accuracy

Total 0.6b remaining (98.3%)

Threshold costs 0.6b (98.3%)

Counts
6 → 5
Compiler

Compiled 61 to 39 computations (36.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Calls

4 calls:

0.0ms
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
0.0ms
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
0.0ms
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
0.0ms
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
Steps
ItersPointRange
5e-86
∈ [
2.597499289912842e-86
,
5.836957726111397e-80
]
-0.0
∈ [
-0.0
,
9.389287128831956e-303
]
-2e-304
∈ [
-2.7858845067130568e-304
,
-1.9752503242829874e-305
]
-1e+130
∈ [
-1.9135008054947872e+130
,
-2.3955253289335666e+114
]
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify7.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026131
130131
234131
336131
437131
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) -10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) -4941461262385513/24707306311927565716857342128774085333197833223161879682238935306082805123046306993647507776054336486228891340858985829027076261887914242781617846672453431386903982455635542158748401823985988322905245077938567513252198179128990807936780194781391547404884040101606295111368825026273254703636026307207764436438929167613952) (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) 0) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) 3499601159652819/69992023193056381579920071267763883691301421788582797965624659405118495974380029543152421664737722368) (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))
Outputs
(if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) -10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) -4941461262385513/24707306311927565716857342128774085333197833223161879682238935306082805123046306993647507776054336486228891340858985829027076261887914242781617846672453431386903982455635542158748401823985988322905245077938567513252198179128990807936780194781391547404884040101606295111368825026273254703636026307207764436438929167613952) (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) 0) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (if (<=.f64 (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) 3499601159652819/69992023193056381579920071267763883691301421788582797965624659405118495974380029543152421664737722368) (/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))))

end65.0ms (4.6%)

Stop Event
done
Compiler

Compiled 204 to 117 computations (42.6% saved)

Profiling

Loading profile data...