Diagrams.Color.HSV:lerp from diagrams-contrib-1.3.0.5

Time bar (total: 4.9s)

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 13 to 9 computations (30.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.7s (35.9%)

Results
1.3s6542×256valid
343.0ms1713×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 404.0ms
Operation ival-mult, time spent: 197.0ms, 49.0% of total-time
Operation ival-sub, time spent: 141.0ms, 35.0% of total-time
Operation ival-add, time spent: 51.0ms, 13.0% of total-time
Operation const, time spent: 15.0ms, 4.0% of total-time
Bogosity

preprocess400.0ms (8.2%)

Algorithm
egg-herbie
Rules
2364×fma-neg
602×fma-define
392×distribute-rgt-in
390×unsub-neg
274×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
30-0-(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
00-0-1
00-0-(-.f64 1 x)
00-0-y
00-0-z
00-0-(*.f64 (-.f64 1 x) y)
00-0-(*.f64 x z)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))nan-rescue30
(*.f64 (-.f64 1 x) y)overflow33
(*.f64 x z)overflow37
Confusion
Predicted +Predicted -
+30
-0253
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+300
-01252
Precision?
0.75
Recall?
1.0
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
040399
1102387
2236379
3682351
41707339
52872337
63242337
73282337
83286337
93286317
103929317
113929317
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z))
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z))
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z)))
(neg.f64 (+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z)))
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z)))
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z))))
(+.f64 (*.f64 (-.f64 1 y) x) (*.f64 y z))
(+.f64 (*.f64 (-.f64 1 z) y) (*.f64 z x))
(+.f64 (*.f64 (-.f64 1 x) z) (*.f64 x y))
Outputs
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(fma.f64 (-.f64 1 x) y (*.f64 x z))
(fma.f64 x z (*.f64 (-.f64 1 x) y))
(-.f64 y (*.f64 x (-.f64 y z)))
(+.f64 y (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(fma.f64 (-.f64 1 x) y (*.f64 x z))
(fma.f64 x z (*.f64 (-.f64 1 x) y))
(-.f64 y (*.f64 x (-.f64 y z)))
(+.f64 y (*.f64 x (-.f64 z y)))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z))
(fma.f64 (-.f64 1 (neg.f64 x)) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 y (+.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 y z) y)
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z))
(fma.f64 (-.f64 1 x) (neg.f64 y) (*.f64 x z))
(-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y))
(fma.f64 x z (*.f64 y (+.f64 x -1)))
(-.f64 (*.f64 x (+.f64 y z)) y)
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z)))
(fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(-.f64 y (*.f64 x (+.f64 y z)))
(neg.f64 (+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z)))
(neg.f64 (fma.f64 (-.f64 1 (neg.f64 x)) y (*.f64 x (neg.f64 z))))
(-.f64 (*.f64 x z) (*.f64 y (+.f64 1 x)))
(fma.f64 y (-.f64 -1 x) (*.f64 x z))
(-.f64 (*.f64 x (-.f64 z y)) y)
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z)))
(fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(-.f64 y (*.f64 x (+.f64 y z)))
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z))))
(fma.f64 (-.f64 1 x) (neg.f64 y) (*.f64 x z))
(-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y))
(fma.f64 x z (*.f64 y (+.f64 x -1)))
(-.f64 (*.f64 x (+.f64 y z)) y)
(+.f64 (*.f64 (-.f64 1 y) x) (*.f64 y z))
(fma.f64 (-.f64 1 y) x (*.f64 y z))
(fma.f64 x (-.f64 1 y) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 z x)))
(fma.f64 y (-.f64 z x) x)
(+.f64 (*.f64 (-.f64 1 z) y) (*.f64 z x))
(fma.f64 (-.f64 1 z) y (*.f64 x z))
(fma.f64 x z (*.f64 y (-.f64 1 z)))
(-.f64 y (*.f64 z (-.f64 y x)))
(fma.f64 z (-.f64 x y) y)
(+.f64 (*.f64 (-.f64 1 x) z) (*.f64 x y))
(fma.f64 (-.f64 1 x) z (*.f64 x y))
(fma.f64 x y (*.f64 (-.f64 1 x) z))
(+.f64 z (*.f64 x (-.f64 y z)))
(fma.f64 x (-.f64 y z) z)
Compiler

Compiled 80 to 46 computations (42.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
Operation ival-mult, time spent: 12.0ms, 43.0% of total-time
Operation ival-sub, time spent: 10.0ms, 36.0% of total-time
Operation ival-add, time spent: 4.0ms, 14.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 39 to 18 computations (53.8% saved)

prune2.0ms (0%)

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

Compiled 22 to 14 computations (36.4% saved)

localize62.0ms (1.3%)

Localize:

Found 3 expressions with local error:

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

Compiled 46 to 18 computations (60.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-mult, time spent: 10.0ms, 49.0% of total-time
Operation ival-sub, time spent: 8.0ms, 39.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

series23.0ms (0.5%)

Counts
3 → 84
Calls
Call 1
Inputs
#<alt (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))>
#<alt (*.f64 (-.f64 1 x) y)>
#<alt (*.f64 x (-.f64 y z))>
Outputs
#<alt y>
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))>
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))>
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))>
#<alt (*.f64 x (+.f64 z (*.f64 -1 y)))>
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))>
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))>
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))>
#<alt (*.f64 x z)>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))>
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))>
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))>
#<alt (*.f64 x z)>
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))>
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))>
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))>
#<alt (*.f64 x z)>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))>
#<alt y>
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))>
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))>
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))>
#<alt (*.f64 -1 (*.f64 x y))>
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))>
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))>
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))>
#<alt (*.f64 -1 (*.f64 x y))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))>
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 y (-.f64 1 x))>
#<alt (*.f64 -1 (*.f64 x z))>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (*.f64 x y)>
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 x y)>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))>
#<alt (*.f64 x y)>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))>
#<alt (*.f64 -1 (*.f64 x z))>
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))>
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))>
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))>
#<alt (*.f64 -1 (*.f64 x z))>
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))>
Calls

24 calls:

TimeVariablePointExpression
11.0ms
z
@-inf
(+ (* (- 1 x) y) (* x z))
1.0ms
x
@inf
(+ (* (- 1 x) y) (* x z))
1.0ms
y
@inf
(* (- 1 x) y)
1.0ms
y
@0
(+ (* (- 1 x) y) (* x z))
1.0ms
x
@0
(+ (* (- 1 x) y) (* x z))

rewrite234.0ms (4.8%)

Algorithm
batch-egg-rewrite
Rules
1162×log-prod
1078×fma-define
753×log1p-expm1-u
753×expm1-log1p-u
466×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01674
122674
2318474
Stop Event
node limit
Counts
3 → 123
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(*.f64 (-.f64 1 x) y)
(*.f64 x (-.f64 y z))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z)))
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))))
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)))
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3)
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2))
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1))
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y))
(fma.f64 x z (*.f64 (-.f64 1 x) y))
(fma.f64 (-.f64 1 x) y (*.f64 x z))
(fma.f64 y (-.f64 1 x) (*.f64 x z))
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z))
(fma.f64 z x (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z))
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z))
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 y (neg.f64 x)))
(+.f64 y (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1)
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 x (-.f64 y z)))
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1)
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z))
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z))
(pow.f64 (*.f64 x (-.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z)))))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (-.f64 y z))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1))
(fma.f64 x y (*.f64 x (neg.f64 z)))
(fma.f64 y x (*.f64 (neg.f64 z) x))

simplify228.0ms (4.7%)

Algorithm
egg-herbie
Rules
1146×distribute-lft-in
1090×distribute-rgt-in
606×*-commutative
528×times-frac
472×cancel-sign-sub-inv
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03477319
18046651
222736607
374546607
Stop Event
node limit
Counts
207 → 187
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(*.f64 x (+.f64 z (*.f64 -1 y)))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z))))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 x z)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 y (-.f64 1 x))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(*.f64 x z)
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 x z)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
y
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 -1 (*.f64 x y))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 -1 (*.f64 x y))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 x z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x y)
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 x y)
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 x y)
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 -1 (*.f64 x z))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 -1 (*.f64 x z))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z)))
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))))
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)))
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3)
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2))
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1))
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y))
(fma.f64 x z (*.f64 (-.f64 1 x) y))
(fma.f64 (-.f64 1 x) y (*.f64 x z))
(fma.f64 y (-.f64 1 x) (*.f64 x z))
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z))
(fma.f64 z x (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y))
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z))
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z))
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z))
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 y (neg.f64 x)))
(+.f64 y (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1)
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 x (-.f64 y z)))
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1)
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z))
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z))
(pow.f64 (*.f64 x (-.f64 y z)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z)))))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (-.f64 y z))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1))
(fma.f64 x y (*.f64 x (neg.f64 z)))
(fma.f64 y x (*.f64 (neg.f64 z) x))
Outputs
y
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 x (+.f64 z (*.f64 -1 y)))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z))))
(*.f64 x (+.f64 z (neg.f64 y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x))))
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y)))
(*.f64 x z)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x)))
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x))
(*.f64 y (-.f64 1 x))
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 x z)
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
(*.f64 x z)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z))))
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x))
y
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 -1 (*.f64 x y)))
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(neg.f64 (*.f64 y x))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(neg.f64 (*.f64 y x))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))
(*.f64 x (fma.f64 -1 y (/.f64 y x)))
(*.f64 x (-.f64 (/.f64 y x) y))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 y (-.f64 1 x))
(*.f64 -1 (*.f64 x z))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(*.f64 x y)
(*.f64 y x)
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 x y)
(*.f64 y x)
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y)))
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y)))
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y))))
(*.f64 x y)
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))
(*.f64 x (-.f64 y z))
(*.f64 -1 (*.f64 x z))
(*.f64 x (neg.f64 z))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(*.f64 -1 (*.f64 x z))
(*.f64 x (neg.f64 z))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z))))
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1)))
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z))))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z)))
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z)))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z)))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 x z (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (-.f64 1 x) y (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 y (-.f64 1 x) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 z x (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z))
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y))))
(fma.f64 x (-.f64 z y) y)
(+.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(+.f64 y (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(+.f64 0 (*.f64 (-.f64 1 x) y))
(*.f64 y (-.f64 1 x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))) (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (-.f64 1 x))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1)
(*.f64 y (-.f64 1 x))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1)))
(*.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 y (fma.f64 x (+.f64 x 1) 1)))
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1)))
(*.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 y (fma.f64 x (+.f64 x 1) 1)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x))
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1)))
(pow.f64 (*.f64 (-.f64 1 x) y) 1)
(*.f64 y (-.f64 1 x))
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3)
(*.f64 y (-.f64 1 x))
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3)
(*.f64 y (-.f64 1 x))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2)
(*.f64 y (-.f64 1 x))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2))
(*.f64 y (-.f64 1 x))
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))
(*.f64 y (-.f64 1 x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))
(*.f64 y (-.f64 1 x))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3))
(*.f64 y (-.f64 1 x))
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 y (-.f64 1 x))
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 y (-.f64 1 x))
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y)))
(*.f64 y (-.f64 1 x))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1))
(*.f64 y (-.f64 1 x))
(fma.f64 1 y (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(fma.f64 1 y (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(fma.f64 y 1 (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(fma.f64 y 1 (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 1 x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y))
(*.f64 y (-.f64 1 x))
(+.f64 0 (*.f64 x (-.f64 y z)))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x))
(*.f64 x (-.f64 y z))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))) (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(*.f64 x (/.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 z (+.f64 y z) (pow.f64 y 2))))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z))
(*.f64 x (/.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) (+.f64 y z)))
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))
(*.f64 x (/.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 z (+.f64 y z) (pow.f64 y 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z))
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z))
(*.f64 x (/.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) (+.f64 y z)))
(pow.f64 (*.f64 x (-.f64 y z)) 1)
(*.f64 x (-.f64 y z))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3)
(*.f64 x (-.f64 y z))
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3)
(*.f64 x (-.f64 y z))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2)
(*.f64 x (-.f64 y z))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2))
(*.f64 x (-.f64 y z))
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))
(*.f64 x (-.f64 y z))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z)))))
(*.f64 x (-.f64 y z))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3))
(*.f64 x (-.f64 y z))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3)))
(*.f64 x (-.f64 y z))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3)))
(*.f64 x (-.f64 y z))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z))))
(*.f64 x (-.f64 y z))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z))))
(*.f64 x (-.f64 y z))
(exp.f64 (log.f64 (*.f64 x (-.f64 y z))))
(*.f64 x (-.f64 y z))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1))
(*.f64 x (-.f64 y z))
(fma.f64 x y (*.f64 x (neg.f64 z)))
(*.f64 x (-.f64 y z))
(fma.f64 y x (*.f64 (neg.f64 z) x))
(*.f64 x (-.f64 y z))

eval120.0ms (2.5%)

Compiler

Compiled 2609 to 1282 computations (50.9% saved)

prune32.0ms (0.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1825187
Fresh000
Picked022
Done000
Total1827189
Accuracy
100.0%
Counts
189 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(-.f64 y (*.f64 y x))
100.0%
(-.f64 y (*.f64 x (-.f64 y z)))
79.3%
(-.f64 y (*.f64 x (neg.f64 z)))
98.8%
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
68.7%
(*.f64 x (-.f64 z y))
48.8%
(*.f64 x z)
32.5%
y
Compiler

Compiled 92 to 60 computations (34.8% saved)

localize61.0ms (1.2%)

Localize:

Found 1 expressions with local error:

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

Compiled 46 to 12 computations (73.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
Operation ival-mult, time spent: 7.0ms, 53.0% of total-time
Operation ival-sub, time spent: 4.0ms, 30.0% of total-time
Operation ival-neg, time spent: 2.0ms, 15.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

series5.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 x (-.f64 z y))>
Outputs
#<alt (*.f64 -1 (*.f64 x y))>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (*.f64 x z)>
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 x z)>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))>
#<alt (*.f64 x z)>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))>
#<alt (*.f64 -1 (*.f64 x y))>
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))>
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))>
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))>
#<alt (*.f64 -1 (*.f64 x y))>
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))>
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
(* x (- z y))
0.0ms
x
@0
(* x (- z y))
0.0ms
x
@inf
(* x (- z y))
0.0ms
y
@0
(* x (- z y))
0.0ms
z
@0
(* x (- z y))

rewrite73.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
996×unpow-prod-down
718×prod-diff
577×log1p-expm1-u
577×expm1-log1p-u
572×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
111722
2153022
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(*.f64 x (-.f64 z y))
Outputs
(+.f64 0 (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1)
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y))
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y))
(pow.f64 (*.f64 x (-.f64 z y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y)))))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 z y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1))
(fma.f64 x z (*.f64 x (neg.f64 y)))
(fma.f64 z x (*.f64 (neg.f64 y) x))

simplify74.0ms (1.5%)

Algorithm
egg-herbie
Rules
824×distribute-lft-neg-out
788×unsub-neg
640×*-commutative
616×distribute-lft-neg-in
588×distribute-rgt-neg-out
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01091359
12331359
26381359
323861359
448161311
Stop Event
node limit
Counts
53 → 45
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 x y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x z)
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 x z)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 -1 (*.f64 x y))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 -1 (*.f64 x y))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(+.f64 0 (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1)
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y))
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y))
(pow.f64 (*.f64 x (-.f64 z y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3)
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y)))))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 z y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1))
(fma.f64 x z (*.f64 x (neg.f64 y)))
(fma.f64 z x (*.f64 (neg.f64 y) x))
Outputs
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(*.f64 x z)
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 x z)
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))
(*.f64 x (-.f64 z y))
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 x (-.f64 z y))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 x (-.f64 z y))
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 x (-.f64 z y))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))
(*.f64 x (-.f64 z y))
(+.f64 0 (*.f64 x (-.f64 z y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x))
(*.f64 x (-.f64 z y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1)
(*.f64 x (-.f64 z y))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 y z) (pow.f64 z 2)))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 x (fma.f64 y (+.f64 y z) (pow.f64 z 2))))
(*.f64 x (/.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (fma.f64 y (+.f64 y z) (pow.f64 z 2))))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y))
(*.f64 x (/.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (+.f64 y z)))
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (/.f64 x (+.f64 y z)))
(*.f64 x (*.f64 (-.f64 z y) 1))
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 y z) (pow.f64 z 2)))
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 x (fma.f64 y (+.f64 y z) (pow.f64 z 2))))
(*.f64 x (/.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (fma.f64 y (+.f64 y z) (pow.f64 z 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y))
(*.f64 x (/.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (+.f64 y z)))
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (/.f64 x (+.f64 y z)))
(*.f64 x (*.f64 (-.f64 z y) 1))
(pow.f64 (*.f64 x (-.f64 z y)) 1)
(*.f64 x (-.f64 z y))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3)
(*.f64 x (-.f64 z y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2)
(*.f64 x (-.f64 z y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3)
(*.f64 x (-.f64 z y))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2)
(*.f64 x (-.f64 z y))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2))
(*.f64 x (-.f64 z y))
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))
(*.f64 x (-.f64 z y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y)))))
(*.f64 x (-.f64 z y))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3))
(*.f64 x (-.f64 z y))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y))))
(*.f64 x (-.f64 z y))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y))))
(*.f64 x (-.f64 z y))
(exp.f64 (log.f64 (*.f64 x (-.f64 z y))))
(*.f64 x (-.f64 z y))
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1))
(*.f64 x (-.f64 z y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3))
(*.f64 x (-.f64 z y))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3))
(*.f64 x (-.f64 z y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2))
(*.f64 x (-.f64 z y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1))
(*.f64 x (-.f64 z y))
(fma.f64 x z (*.f64 x (neg.f64 y)))
(*.f64 x (-.f64 z y))
(fma.f64 z x (*.f64 (neg.f64 y) x))
(*.f64 x (-.f64 z y))

eval60.0ms (1.2%)

Compiler

Compiled 463 to 197 computations (57.5% saved)

prune8.0ms (0.2%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New44145
Fresh000
Picked055
Done022
Total44852
Accuracy
100.0%
Counts
52 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(-.f64 y (*.f64 y x))
100.0%
(-.f64 y (*.f64 x (-.f64 y z)))
79.3%
(-.f64 y (*.f64 x (neg.f64 z)))
98.8%
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
68.7%
(*.f64 x (-.f64 z y))
25.8%
(*.f64 x (neg.f64 y))
48.8%
(*.f64 x z)
32.5%
y
Compiler

Compiled 64 to 42 computations (34.4% saved)

localize88.0ms (1.8%)

Compiler

Compiled 12 to 6 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 61.0ms
Operation ival-neg, time spent: 59.0ms, 97.0% of total-time
Operation ival-mult, time spent: 2.0ms, 3.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune4.0ms (0.1%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done077
Total088
Accuracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(-.f64 y (*.f64 y x))
100.0%
(-.f64 y (*.f64 x (-.f64 y z)))
79.3%
(-.f64 y (*.f64 x (neg.f64 z)))
98.8%
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
68.7%
(*.f64 x (-.f64 z y))
25.8%
(*.f64 x (neg.f64 y))
48.8%
(*.f64 x z)
32.5%
y
Compiler

Compiled 107 to 62 computations (42.1% saved)

regimes31.0ms (0.6%)

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

4 calls:

8.0ms
y
8.0ms
x
7.0ms
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
7.0ms
z
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes121.0ms (2.5%)

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

3 calls:

81.0ms
x
20.0ms
z
19.0ms
y
Results
AccuracySegmentsBranch
98.6%3x
90.5%3y
90.3%3z
Compiler

Compiled 12 to 9 computations (25% saved)

regimes255.0ms (5.2%)

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

3 calls:

106.0ms
y
105.0ms
z
43.0ms
x
Results
AccuracySegmentsBranch
82.1%5z
86.9%5y
85.1%5x
Compiler

Compiled 12 to 9 computations (25% saved)

regimes48.0ms (1%)

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

2 calls:

24.0ms
x
23.0ms
y
Results
AccuracySegmentsBranch
85.1%5x
73.5%5y
Compiler

Compiled 8 to 6 computations (25% saved)

regimes97.0ms (2%)

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

3 calls:

38.0ms
y
31.0ms
z
26.0ms
x
Results
AccuracySegmentsBranch
69.5%10y
66.2%8z
69.0%7x
Compiler

Compiled 12 to 9 computations (25% saved)

regimes14.0ms (0.3%)

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

1 calls:

14.0ms
x
Results
AccuracySegmentsBranch
63.9%3x
Compiler

Compiled 4 to 3 computations (25% saved)

regimes8.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
y
Outputs
y
Calls

3 calls:

3.0ms
x
3.0ms
y
3.0ms
z
Results
AccuracySegmentsBranch
32.5%1z
32.5%1y
32.5%1x
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch43.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
1.8613591328548345e-11
288234.31597866304
22.0ms
-17101524128853.88
-0.7632614235665496
Results
37.0ms319×256valid
0.0ms256valid
Compiler

Compiled 398 to 273 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Operation ival-mult, time spent: 4.0ms, 46.0% of total-time
Operation ival-sub, time spent: 2.0ms, 23.0% of total-time
Operation ival-add, time spent: 2.0ms, 23.0% of total-time
Operation const, time spent: 1.0ms, 12.0% of total-time

bsearch76.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
6.099979700303719e-54
3.3346333207320717e-53
20.0ms
-1.8405041326163442e-149
-6.431177069571575e-159
36.0ms
-2.985159855455403e+48
-3.1219265331395047e+46
4.0ms
-7.853187595173373e+101
-6.546438513444185e+101
Results
38.0ms315×256valid
9.0ms68×256infinite
0.0ms256infinite
Compiler

Compiled 450 to 301 computations (33.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
Operation ival-mult, time spent: 8.0ms, 51.0% of total-time
Operation ival-add, time spent: 4.0ms, 25.0% of total-time
Operation ival-sub, time spent: 3.0ms, 19.0% of total-time
Operation const, time spent: 1.0ms, 6.0% of total-time

bsearch81.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
7.330217425247846e-30
1.281441461887107e-25
20.0ms
2.740365800333541e-55
2.610182309763473e-50
23.0ms
3.0132678045496117e-92
1.7201920140415432e-81
18.0ms
-3.8910943746185195e-31
-1.8325295162368015e-34
Results
69.0ms559×256valid
0.0ms256valid
Compiler

Compiled 470 to 344 computations (26.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
Operation ival-mult, time spent: 10.0ms, 54.0% of total-time
Operation ival-sub, time spent: 4.0ms, 22.0% of total-time
Operation ival-add, time spent: 3.0ms, 16.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

bsearch99.0ms (2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
5.600121482275791e+86
1.7041826585193043e+95
14.0ms
1.7738087640069428e+36
8.075066452417239e+36
22.0ms
3.0132678045496117e-92
1.7201920140415432e-81
19.0ms
-3.8910943746185195e-31
-1.8325295162368015e-34
6.0ms
-1.465251656528378e+41
-1.0892251813523142e+41
18.0ms
-5.49644285212686e+211
-2.7284740730416537e+208
Results
66.0ms565×256valid
18.0ms138×256infinite
0.0ms256valid
Compiler

Compiled 624 to 461 computations (26.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
Operation ival-mult, time spent: 13.0ms, 58.0% of total-time
Operation ival-sub, time spent: 5.0ms, 22.0% of total-time
Operation ival-add, time spent: 4.0ms, 18.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time

bsearch71.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
3.0132678045496117e-92
1.7201920140415432e-81
49.0ms
-3.8910943746185195e-31
-1.8325295162368015e-34
Results
66.0ms287×256valid
0.0ms256valid
Compiler

Compiled 234 to 175 computations (25.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-mult, time spent: 4.0ms, 50.0% of total-time
Operation ival-sub, time spent: 2.0ms, 25.0% of total-time
Operation ival-add, time spent: 2.0ms, 25.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify43.0ms (0.9%)

Algorithm
egg-herbie
Rules
110×distribute-lft-neg-in
104×unsub-neg
72×neg-mul-1
60×cancel-sign-sub-inv
54×neg-sub0
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
080574
1126555
2164540
3208536
4255536
5293536
6351536
7393536
8419536
9440536
10455536
11476536
12488536
13491536
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 y (*.f64 x (-.f64 y z)))
(if (<=.f64 x -1) (*.f64 x (-.f64 z y)) (if (<=.f64 x 1) (-.f64 y (*.f64 x (neg.f64 z))) (*.f64 x (-.f64 z y))))
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (-.f64 y (*.f64 y x)) (if (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x))))))
(if (<=.f64 x -6028694253989975/365375409332725729550921208179070754913983135744) (*.f64 x (-.f64 z y)) (if (<=.f64 x 5297247849083857/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) y (if (<=.f64 x 798014421347659/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x z) (if (<=.f64 x 2395587863123407/43556142965880123323311949751266331066368) y (*.f64 x (-.f64 z y))))))
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (<=.f64 x 5200000000000000279616895380763967488) (*.f64 x z) (if (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848) (*.f64 x (neg.f64 y)) (*.f64 x z)))))))
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (*.f64 x z) (if (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) y (*.f64 x z)))
y
Outputs
(-.f64 y (*.f64 x (-.f64 y z)))
(+.f64 y (*.f64 x (-.f64 z y)))
(if (<=.f64 x -1) (*.f64 x (-.f64 z y)) (if (<=.f64 x 1) (-.f64 y (*.f64 x (neg.f64 z))) (*.f64 x (-.f64 z y))))
(if (or (<=.f64 x -1) (not (<=.f64 x 1))) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 x (neg.f64 z))))
(if (or (<=.f64 x -1) (not (<=.f64 x 1))) (*.f64 x (-.f64 z y)) (+.f64 y (*.f64 x z)))
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (-.f64 y (*.f64 y x)) (if (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x))))))
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y)))))
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (or (<=.f64 y -54000000000000003178971908580181474108128624640) (not (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x))))
(if (or (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (not (or (<=.f64 y -54000000000000003178971908580181474108128624640) (not (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y)))
(if (or (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (not (or (<=.f64 y -54000000000000003178971908580181474108128624640) (and (not (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832)) (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y)))
(if (<=.f64 x -6028694253989975/365375409332725729550921208179070754913983135744) (*.f64 x (-.f64 z y)) (if (<=.f64 x 5297247849083857/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) y (if (<=.f64 x 798014421347659/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x z) (if (<=.f64 x 2395587863123407/43556142965880123323311949751266331066368) y (*.f64 x (-.f64 z y))))))
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (<=.f64 x 5200000000000000279616895380763967488) (*.f64 x z) (if (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848) (*.f64 x (neg.f64 y)) (*.f64 x z)))))))
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (or (<=.f64 x 5200000000000000279616895380763967488) (not (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848))) (*.f64 x z) (*.f64 x (neg.f64 y)))))))
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 y (neg.f64 x)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (or (<=.f64 x 5200000000000000279616895380763967488) (not (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848))) (*.f64 x z) (*.f64 y (neg.f64 x)))))))
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (*.f64 x z) (if (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) y (*.f64 x z)))
(if (or (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (not (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888))) (*.f64 x z) y)
y
Compiler

Compiled 163 to 98 computations (39.9% saved)

soundness579.0ms (11.9%)

Rules
2364×fma-neg
1146×distribute-lft-in
1090×distribute-rgt-in
824×distribute-lft-neg-out
788×unsub-neg
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01091359
12331359
26381359
323861359
448161311
03477319
18046651
222736607
374546607
040399
1102387
2236379
3682351
41707339
52872337
63242337
73282337
83286337
93286317
103929317
113929317
Stop Event
saturated
node limit
node limit
Compiler

Compiled 196 to 97 computations (50.5% saved)

end0.0ms (0%)

preprocess81.0ms (1.7%)

Compiler

Compiled 334 to 170 computations (49.1% saved)

Profiling

Loading profile data...