Numeric.Log:$clog1p from log-domain-0.10.2.1, A

Details

Time bar (total: 3.0s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.7s (58.4%)

Results
931.0ms4624×body256valid
800.0ms3632×body256infinite
Bogosity

preprocess18.0ms (0.6%)

Algorithm
egg-herbie
Rules
52×fma-def
22×+-commutative
12×associate-+r+
12×associate-+l+
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
13042
26442
37842
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 x 2) (*.f64 y y))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 2 y)))
(fma.f64 y (+.f64 2 y) (*.f64 x x))
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify15.0ms (0.5%)

Algorithm
egg-herbie
Rules
28×fma-def
12×+-commutative
associate-+r+
associate-+l+
*-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11921
23621
34421
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 x 2) (*.f64 y y))

eval1.0ms (0%)

Compiler

Compiled 30 to 15 computations (50% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Accurracy
100.0%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
Compiler

Compiled 22 to 14 computations (36.4% saved)

localize69.0ms (2.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (+.f64 2 x))
Compiler

Compiled 26 to 14 computations (46.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 x (+.f64 2 x))
0.0ms
x
@inf
(*.f64 x (+.f64 2 x))
0.0ms
x
@0
(*.f64 x (+.f64 2 x))

rewrite50.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1398×pow1
1306×add-exp-log
1304×log1p-expm1-u
1304×expm1-log1p-u
1286×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
113413
2174313
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 x (+.f64 2 x))
Outputs
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x x))) (-.f64 (*.f64 x 2) (*.f64 x x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x 2 (*.f64 x x))
(fma.f64 2 x (*.f64 x x))

simplify53.0ms (1.8%)

Algorithm
egg-herbie
Rules
1148×associate-*r/
766×associate-*l/
698×times-frac
552×fma-def
540×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073556
1213516
2786508
33545508
Stop Event
node limit
Counts
34 → 32
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x x))) (-.f64 (*.f64 x 2) (*.f64 x x)))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x 2 (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(*.f64 x (+.f64 2 x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(*.f64 x (+.f64 2 x))
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 8) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (*.f64 x x) 4) (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) (*.f64 2 x)))))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 x 6)) (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x x))) (-.f64 (*.f64 x 2) (*.f64 x x)))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(*.f64 x (+.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(*.f64 x (+.f64 2 x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(*.f64 x (+.f64 2 x))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(*.f64 x (+.f64 2 x))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(*.f64 x (+.f64 2 x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(*.f64 x (+.f64 2 x))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(fma.f64 x 2 (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 2 x (*.f64 x x))
(*.f64 x (+.f64 2 x))

eval7.0ms (0.2%)

Compiler

Compiled 473 to 248 computations (47.6% saved)

prune7.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New30232
Fresh000
Picked011
Done000
Total30333
Accurracy
100.0%
Counts
33 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
82.4%
(+.f64 (*.f64 x x) (*.f64 y y))
62.5%
(+.f64 (*.f64 2 x) (*.f64 y y))
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
82.4%
(+.f64 (*.f64 x x) (*.f64 y y))
62.5%
(+.f64 (*.f64 2 x) (*.f64 y y))
Compiler

Compiled 58 to 36 computations (37.9% saved)

localize80.0ms (2.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 34 to 12 computations (64.7% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(+.f64 (*.f64 x x) (*.f64 y y))
0.0ms
y
@0
(+.f64 (*.f64 x x) (*.f64 y y))
0.0ms
x
@0
(+.f64 (*.f64 x x) (*.f64 y y))
0.0ms
y
@inf
(+.f64 (*.f64 x x) (*.f64 y y))
0.0ms
y
@-inf
(+.f64 (*.f64 x x) (*.f64 y y))

rewrite55.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1514×pow1
1404×add-exp-log
1404×log1p-expm1-u
1404×expm1-log1p-u
1374×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0715
115013
2201613
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) (*.f64 y y))
Outputs
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 x y) 2)) 1)
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 x x) (*.f64 y y))))
(*.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 x y) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)))
(*.f64 (hypot.f64 x y) (hypot.f64 x y))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))) (+.f64 (pow.f64 x 6) (pow.f64 y 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) (-.f64 (*.f64 y y) (*.f64 x x)))
(pow.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3) 1/3)
(pow.f64 (hypot.f64 x y) 2)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 x y) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 x y) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 x y) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 x y) 2)))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 y y))

simplify60.0ms (2%)

Algorithm
egg-herbie
Rules
1170×log-prod
1128×cancel-sign-sub-inv
1040×div-sub
986×fma-neg
850×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0911435
12191309
27431213
345481081
Stop Event
node limit
Counts
57 → 46
Calls
Call 1
Inputs
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 x y) 2)) 1)
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 x x) (*.f64 y y))))
(*.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 x y) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)))
(*.f64 (hypot.f64 x y) (hypot.f64 x y))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))) (+.f64 (pow.f64 x 6) (pow.f64 y 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) (-.f64 (*.f64 y y) (*.f64 x x)))
(pow.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3) 1/3)
(pow.f64 (hypot.f64 x y) 2)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 x y) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 x y) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 x y) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 x y) 2)))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 y y))
Outputs
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 x y) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(-.f64 (/.f64 (pow.f64 x 4) (-.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(*.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(*.f64 1 (pow.f64 (hypot.f64 x y) 2))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(*.f64 (hypot.f64 x y) (hypot.f64 x y))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2)))
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))) (+.f64 (pow.f64 x 6) (pow.f64 y 6))))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6))) (neg.f64 (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x y) 2)))))
(*.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 y 6)) (-.f64 (+.f64 (pow.f64 x 4) (pow.f64 y 4)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) (-.f64 (*.f64 y y) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) (-.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (fma.f64 y y (*.f64 x x)) 1)
(pow.f64 (pow.f64 (hypot.f64 x y) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 x y) 2)) 3)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3) 1/3)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(pow.f64 (hypot.f64 x y) 2)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 2))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 x y) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 x y) 2) 3))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 x y) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 x y) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 x y) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 x y) 2) 1))
(+.f64 (pow.f64 (hypot.f64 x y) 2) 0)
(pow.f64 (hypot.f64 x y) 2)
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(fma.f64 y y (*.f64 x x))
(fma.f64 x x (*.f64 y y))
(fma.f64 1 (*.f64 x x) (*.f64 y y))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(fma.f64 1 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 y y))
(fma.f64 y y (*.f64 x x))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 2) (*.f64 x x))
(fma.f64 x x (*.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 2)))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 y y))
(fma.f64 y y (*.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2)))

eval10.0ms (0.3%)

Compiler

Compiled 534 to 303 computations (43.3% saved)

prune11.0ms (0.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New44246
Fresh000
Picked022
Done011
Total44549
Accurracy
100.0%
Counts
49 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
82.4%
(+.f64 (*.f64 x x) (*.f64 y y))
62.5%
(+.f64 (*.f64 2 x) (*.f64 y y))
45.4%
(*.f64 y y)
46.6%
(*.f64 x x)
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
82.4%
(+.f64 (*.f64 x x) (*.f64 y y))
62.5%
(+.f64 (*.f64 2 x) (*.f64 y y))
45.4%
(*.f64 y y)
46.6%
(*.f64 x x)
Compiler

Compiled 78 to 48 computations (38.5% saved)

localize51.0ms (1.7%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

eval3.0ms (0.1%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done033
Total055
Accurracy
100.0%
Counts
5 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
82.4%
(+.f64 (*.f64 x x) (*.f64 y y))
62.5%
(+.f64 (*.f64 2 x) (*.f64 y y))
45.4%
(*.f64 y y)
46.6%
(*.f64 x x)
Compiler

Compiled 81 to 40 computations (50.6% saved)

regimes23.0ms (0.8%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f64 x x)
(*.f64 y y)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Outputs
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
Calls

5 calls:

6.0ms
y
4.0ms
x
4.0ms
(+.f64 (*.f64 x 2) (*.f64 x x))
4.0ms
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
3.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
100.0%1(+.f64 (*.f64 x 2) (*.f64 x x))
100.0%1(*.f64 y y)
Compiler

Compiled 75 to 37 computations (50.7% saved)

regimes30.0ms (1%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 x x)
(*.f64 y y)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
Outputs
(+.f64 (*.f64 x x) (*.f64 y y))
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
Calls

3 calls:

11.0ms
y
10.0ms
x
7.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
99.0%3x
84.2%3y
84.4%3(*.f64 y y)
Compiler

Compiled 33 to 15 computations (54.5% saved)

regimes11.0ms (0.4%)

Counts
3 → 3
Calls
Call 1
Inputs
(*.f64 x x)
(*.f64 y y)
(+.f64 (*.f64 2 x) (*.f64 y y))
Outputs
(*.f64 x x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(*.f64 x x)
Calls

1 calls:

9.0ms
x
Results
AccuracySegmentsBranch
90.5%3x
Compiler

Compiled 18 to 9 computations (50% saved)

regimes36.0ms (1.2%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 x x)
(*.f64 y y)
Outputs
(*.f64 x x)
(*.f64 y y)
(*.f64 x x)
Calls

3 calls:

14.0ms
y
11.0ms
(*.f64 y y)
9.0ms
x
Results
AccuracySegmentsBranch
69.8%5y
71.0%6(*.f64 y y)
73.7%3x
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes5.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 x x)
Outputs
(*.f64 x x)
Calls

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
46.6%1y
46.6%1x
Compiler

Compiled 11 to 7 computations (36.4% saved)

bsearch49.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
4.1104101701730026e-19
1.7793923787067399e-13
22.0ms
-127.09480699636252
-0.30074190217561764
Results
33.0ms195×body256valid
13.0ms77×body256infinite
Compiler

Compiled 358 to 233 computations (34.9% saved)

bsearch70.0ms (2.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
46.0ms
4.513033000305798e+57
5.946878414659804e+69
24.0ms
-127.09480699636252
-0.30074190217561764
Results
54.0ms202×body256valid
13.0ms86×body256infinite
Compiler

Compiled 306 to 210 computations (31.4% saved)

bsearch102.0ms (3.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
41.0ms
4.417025877259595e+38
1.031999669696323e+45
61.0ms
-127.09480699636252
-0.30074190217561764
Results
90.0ms208×body256valid
9.0ms64×body256infinite
Compiler

Compiled 222 to 148 computations (33.3% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative
if-if-or-not
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032185
149185
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(if (<=.f64 x -2) (+.f64 (*.f64 x x) (*.f64 y y)) (if (<=.f64 x 3466232109999065/19807040628566084398385987584) (+.f64 (*.f64 2 x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(if (<=.f64 x -125) (*.f64 x x) (if (<=.f64 x 159999999999999991009911839590618093052754470856211151454208) (+.f64 (*.f64 2 x) (*.f64 y y)) (*.f64 x x)))
(if (<=.f64 x -125) (*.f64 x x) (if (<=.f64 x 449999999999999980424911239812862705664) (*.f64 y y) (*.f64 x x)))
(*.f64 x x)
Outputs
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 x 2)) (*.f64 y y))
(if (<=.f64 x -2) (+.f64 (*.f64 x x) (*.f64 y y)) (if (<=.f64 x 3466232109999065/19807040628566084398385987584) (+.f64 (*.f64 2 x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(if (or (<=.f64 x -2) (not (<=.f64 x 3466232109999065/19807040628566084398385987584))) (+.f64 (*.f64 y y) (*.f64 x x)) (+.f64 (*.f64 y y) (*.f64 x 2)))
(if (<=.f64 x -125) (*.f64 x x) (if (<=.f64 x 159999999999999991009911839590618093052754470856211151454208) (+.f64 (*.f64 2 x) (*.f64 y y)) (*.f64 x x)))
(if (<=.f64 x -125) (*.f64 x x) (if (<=.f64 x 159999999999999991009911839590618093052754470856211151454208) (+.f64 (*.f64 y y) (*.f64 x 2)) (*.f64 x x)))
(if (<=.f64 x -125) (*.f64 x x) (if (<=.f64 x 449999999999999980424911239812862705664) (*.f64 y y) (*.f64 x x)))
(*.f64 x x)
Compiler

Compiled 83 to 48 computations (42.2% saved)

soundness339.0ms (11.4%)

Rules
1170×log-prod
1170×log-prod
1148×associate-*r/
1128×cancel-sign-sub-inv
1128×cancel-sign-sub-inv
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11921
23621
34421
073556
1213516
2786508
33545508
0911435
12191309
27431213
345481081
0911435
12191309
27431213
345481081
Stop Event
node limit
node limit
node limit
saturated
Compiler

Compiled 54 to 30 computations (44.4% saved)

end72.0ms (2.4%)

Compiler

Compiled 202 to 100 computations (50.5% saved)

Profiling

Loading profile data...