Linear.Quaternion:$c/ from linear-1.19.1.3, C

Time bar (total: 4.1s)

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 19 to 10 computations (47.4% saved)

sample3.0s (72.6%)

Results
1.3s5045×body256valid
516.0ms641×body1024valid
416.0ms398×body2048valid
265.0ms1350×body256infinite
229.0ms451×body512valid
119.0ms138×body1024infinite
105.0ms233×body512infinite
Bogosity

preprocess227.0ms (5.6%)

Algorithm
egg-herbie
Rules
1550×sub-neg
1116×unsub-neg
1008×fma-def
792×distribute-lft-out
704×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042294
1180220
2582200
32364108
45194108
56155108
66575108
76669108
86704108
96710108
106977108
117241108
127979108
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (-.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (-.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z)) (*.f64 (neg.f64 y) (neg.f64 y)))
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y (neg.f64 z))) (*.f64 y y))
(-.f64 (-.f64 (+.f64 (*.f64 y x) (*.f64 x x)) (*.f64 x z)) (*.f64 x x))
(-.f64 (-.f64 (+.f64 (*.f64 z y) (*.f64 y y)) (*.f64 y x)) (*.f64 y y))
(-.f64 (-.f64 (+.f64 (*.f64 x z) (*.f64 z z)) (*.f64 z y)) (*.f64 z z))
Outputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (*.f64 y (+.f64 x y)) (*.f64 y (+.f64 z y)))
(*.f64 y (-.f64 (+.f64 x y) (+.f64 y z)))
(*.f64 y (-.f64 (+.f64 y (-.f64 x z)) y))
(*.f64 y (-.f64 x z))
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (*.f64 y (+.f64 x y)) (*.f64 y (+.f64 z y)))
(*.f64 y (-.f64 (+.f64 x y) (+.f64 y z)))
(*.f64 y (-.f64 (+.f64 y (-.f64 x z)) y))
(*.f64 y (-.f64 x z))
(-.f64 (-.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (*.f64 y (+.f64 (neg.f64 x) y)) (*.f64 y (+.f64 z y)))
(*.f64 y (-.f64 (fma.f64 -1 x y) (+.f64 y z)))
(*.f64 y (-.f64 (-.f64 y x) (+.f64 y z)))
(*.f64 y (-.f64 (neg.f64 x) z))
(*.f64 y (neg.f64 (+.f64 x z)))
(-.f64 (-.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z)) (*.f64 (neg.f64 y) (neg.f64 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 (neg.f64 x) y)) (*.f64 y z)) (*.f64 y y))
(*.f64 y (-.f64 (+.f64 y z) (+.f64 x y)))
(*.f64 y (-.f64 (+.f64 y (-.f64 z x)) y))
(*.f64 y (-.f64 z x))
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y (neg.f64 z))) (*.f64 y y))
(-.f64 (*.f64 y (+.f64 x y)) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 y y)))
(-.f64 (*.f64 y (+.f64 x y)) (*.f64 y (-.f64 y z)))
(*.f64 y (-.f64 (+.f64 x y) (-.f64 y z)))
(*.f64 y (+.f64 x z))
(-.f64 (-.f64 (+.f64 (*.f64 y x) (*.f64 x x)) (*.f64 x z)) (*.f64 x x))
(-.f64 (*.f64 x (+.f64 y x)) (+.f64 (*.f64 x z) (*.f64 x x)))
(-.f64 (*.f64 x (+.f64 x y)) (*.f64 x (+.f64 x z)))
(*.f64 x (-.f64 (+.f64 x y) (+.f64 x z)))
(*.f64 x (-.f64 y z))
(-.f64 (-.f64 (+.f64 (*.f64 z y) (*.f64 y y)) (*.f64 y x)) (*.f64 y y))
(-.f64 (+.f64 (*.f64 y (+.f64 (neg.f64 x) y)) (*.f64 y z)) (*.f64 y y))
(*.f64 y (-.f64 (+.f64 y z) (+.f64 x y)))
(*.f64 y (-.f64 (+.f64 y (-.f64 z x)) y))
(*.f64 y (-.f64 z x))
(-.f64 (-.f64 (+.f64 (*.f64 x z) (*.f64 z z)) (*.f64 z y)) (*.f64 z z))
(-.f64 (-.f64 (*.f64 z (+.f64 x z)) (*.f64 y z)) (*.f64 z z))
(-.f64 (*.f64 z (+.f64 x z)) (*.f64 z (+.f64 y z)))
(*.f64 z (-.f64 (+.f64 x z) (+.f64 y z)))
(*.f64 z (-.f64 x y))
Compiler

Compiled 18 to 9 computations (50% saved)

eval1.0ms (0%)

Compiler

Compiled 37 to 16 computations (56.8% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 y (-.f64 x z))
100.0%
(*.f64 y (-.f64 x z))
Compiler

Compiled 16 to 10 computations (37.5% saved)

localize30.0ms (0.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 y (-.f64 x z))
Compiler

Compiled 15 to 6 computations (60% saved)

series8.0ms (0.2%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(*.f64 y (-.f64 x z))
1.0ms
y
@0
(*.f64 y (-.f64 x z))
1.0ms
y
@inf
(*.f64 y (-.f64 x z))
1.0ms
y
@-inf
(*.f64 y (-.f64 x z))
1.0ms
x
@inf
(*.f64 y (-.f64 x z))

rewrite107.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1646×pow1
1520×add-exp-log
1520×log1p-expm1-u
1520×expm1-log1p-u
1488×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114913
2202513
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 y (-.f64 x z))
Outputs
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y))
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1)
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z))
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3)
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y))
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3))
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3)))
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z))))
(exp.f64 (log.f64 (*.f64 y (-.f64 x z))))
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z))))

simplify116.0ms (2.8%)

Algorithm
egg-herbie
Rules
1376×fma-def
1306×log-prod
792×unsub-neg
750×associate-*r*
650×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069611
1168611
2519611
33087611
46399611
Stop Event
node limit
Counts
43 → 28
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y))
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1)
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z))
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3)
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2)
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y))
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3))
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3)))
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z))))
(exp.f64 (log.f64 (*.f64 y (-.f64 x z))))
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z))))
Outputs
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z)))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y))
(*.f64 y (-.f64 x z))
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 y (/.f64 (fma.f64 x x (*.f64 z (+.f64 z x))) (-.f64 (pow.f64 x 3) (pow.f64 z 3))))
(*.f64 (/.f64 y (fma.f64 x x (*.f64 z (+.f64 z x)))) (-.f64 (pow.f64 x 3) (pow.f64 z 3)))
(*.f64 y (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) (fma.f64 z (+.f64 z x) (*.f64 x x))))
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z))
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z))))
(/.f64 y (/.f64 (fma.f64 x x (*.f64 z (+.f64 z x))) (-.f64 (pow.f64 x 3) (pow.f64 z 3))))
(*.f64 (/.f64 y (fma.f64 x x (*.f64 z (+.f64 z x)))) (-.f64 (pow.f64 x 3) (pow.f64 z 3)))
(*.f64 y (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) (fma.f64 z (+.f64 z x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z))
(*.f64 y (-.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3)
(*.f64 y (-.f64 x z))
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3)
(*.f64 y (-.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2)
(*.f64 y (-.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2))
(*.f64 y (-.f64 x z))
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y))
(*.f64 y (-.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3))
(*.f64 y (-.f64 x z))
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3)))
(*.f64 y (-.f64 x z))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3)))
(*.f64 y (-.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(exp.f64 (log.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))

eval5.0ms (0.1%)

Compiler

Compiled 275 to 113 computations (58.9% saved)

prune5.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New26228
Fresh000
Picked011
Done000
Total26329
Accuracy
100.0%
Counts
29 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 y (-.f64 x z))
55.0%
(*.f64 y (neg.f64 z))
53.3%
(*.f64 y x)
100.0%
(*.f64 y (-.f64 x z))
55.0%
(*.f64 y (neg.f64 z))
53.3%
(*.f64 y x)
Compiler

Compiled 42 to 28 computations (33.3% saved)

localize34.0ms (0.8%)

Compiler

Compiled 17 to 7 computations (58.8% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done011
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 y (-.f64 x z))
55.0%
(*.f64 y (neg.f64 z))
53.3%
(*.f64 y x)
Compiler

Compiled 51 to 28 computations (45.1% saved)

regimes17.0ms (0.4%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y (neg.f64 z))
(*.f64 y (-.f64 x z))
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Outputs
(*.f64 y (-.f64 x z))
Calls

4 calls:

5.0ms
y
4.0ms
z
4.0ms
x
3.0ms
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Compiler

Compiled 60 to 32 computations (46.7% saved)

regimes78.0ms (1.9%)

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

3 calls:

36.0ms
y
29.0ms
x
12.0ms
z
Results
AccuracySegmentsBranch
79.7%7x
71.8%11y
84.1%3z
Compiler

Compiled 22 to 15 computations (31.8% saved)

regimes10.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

3 calls:

4.0ms
z
3.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
53.3%1y
53.3%1x
53.3%1z
Compiler

Compiled 18 to 13 computations (27.8% saved)

bsearch45.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
1.8417085720490298e-70
7.550138278070869e-68
26.0ms
-8.704258237588025e+25
-401200204.46266633
Results
23.0ms187×body256valid
6.0ms27×body1024valid
5.0ms28×body512valid
3.0ms30×body256infinite
2.0msbody2048valid
2.0msbody1024infinite
0.0msbody512infinite
Compiler

Compiled 294 to 212 computations (27.9% saved)

simplify7.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02063
13563
24463
35063
45363
55463
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 y (-.f64 x z))
(if (<=.f64 z -64000000000000000000000) (*.f64 y (neg.f64 z)) (if (<=.f64 z 4553130216154053/60708402882054033466233184588234965832575213720379360039119137804340758912662765568) (*.f64 y x) (*.f64 y (neg.f64 z))))
(*.f64 y x)
Outputs
(*.f64 y (-.f64 x z))
(if (<=.f64 z -64000000000000000000000) (*.f64 y (neg.f64 z)) (if (<=.f64 z 4553130216154053/60708402882054033466233184588234965832575213720379360039119137804340758912662765568) (*.f64 y x) (*.f64 y (neg.f64 z))))
(if (or (<=.f64 z -64000000000000000000000) (not (<=.f64 z 4553130216154053/60708402882054033466233184588234965832575213720379360039119137804340758912662765568))) (*.f64 y (neg.f64 z)) (*.f64 y x))
(*.f64 y x)
Compiler

Compiled 33 to 22 computations (33.3% saved)

soundness387.0ms (9.5%)

Rules
1550×sub-neg
1376×fma-def
1306×log-prod
1116×unsub-neg
1008×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042294
1180220
2582200
32364108
45194108
56155108
66575108
76669108
86704108
96710108
106977108
117241108
127979108
069611
1168611
2519611
33087611
46399611
Stop Event
node limit
node limit
Compiler

Compiled 221 to 47 computations (78.7% saved)

end0.0ms (0%)

preprocess39.0ms (1%)

Compiler

Compiled 106 to 58 computations (45.3% saved)

Profiling

Loading profile data...