Details

Time bar (total: 3.8s)

analyze111.0ms (2.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
25%25%74.9%0.2%0%0%0%7
37.5%37.4%62.4%0.2%0%0%0%8
56.3%56.1%43.7%0.2%0%0%0%9
56.3%56.1%43.7%0.2%0%0%0%10
56.3%56.1%43.7%0.2%0%0%0%11
65.6%65.5%34.3%0.2%0%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample964.0ms (25.1%)

Results
752.0ms6874×body256valid
154.0ms1382×body256infinite
Bogosity

preprocess113.0ms (2.9%)

Algorithm
egg-herbie
Rules
1738×swap-sqr
1404×sqr-pow
962×associate-*r/
940×cube-div
790×associate-/l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033175
185133
224191
357291
4388791
5396191
6459991
7633391
8795091
044
144
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
Call 2
Inputs
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
(*.f64 y (/.f64 (*.f64 (/.f64 x z) t) t))
(*.f64 z (/.f64 (*.f64 (/.f64 y x) t) t))
(*.f64 t (/.f64 (*.f64 (/.f64 y z) x) x))
(*.f64 x (/.f64 (*.f64 (/.f64 z y) t) t))
(*.f64 x (/.f64 (*.f64 (/.f64 t z) y) y))
(*.f64 x (/.f64 (*.f64 (/.f64 y t) z) z))
Outputs
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
(*.f64 x (/.f64 (/.f64 (*.f64 y t) z) t))
(*.f64 x (/.f64 y (*.f64 1 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 (*.f64 (/.f64 x z) t) t))
(*.f64 x (/.f64 (/.f64 (*.f64 y t) z) t))
(*.f64 x (/.f64 y (*.f64 1 z)))
(*.f64 x (/.f64 y z))
(*.f64 z (/.f64 (*.f64 (/.f64 y x) t) t))
(*.f64 z (/.f64 (/.f64 y x) (/.f64 t t)))
(*.f64 z (/.f64 (/.f64 y x) 1))
(*.f64 z (/.f64 y x))
(/.f64 y (/.f64 x z))
(*.f64 (/.f64 z x) y)
(*.f64 t (/.f64 (*.f64 (/.f64 y z) x) x))
(*.f64 t (/.f64 (/.f64 y z) (/.f64 x x)))
(/.f64 (*.f64 (/.f64 y z) t) 1)
(*.f64 (/.f64 y z) t)
(*.f64 y (/.f64 t z))
(*.f64 x (/.f64 (*.f64 (/.f64 z y) t) t))
(*.f64 x (/.f64 (/.f64 (*.f64 z t) y) t))
(*.f64 x (/.f64 z (*.f64 1 y)))
(*.f64 x (/.f64 z y))
(*.f64 x (/.f64 (*.f64 (/.f64 t z) y) y))
(*.f64 x (/.f64 (/.f64 t z) (/.f64 y y)))
(*.f64 x (/.f64 t (*.f64 1 z)))
(/.f64 t (/.f64 z x))
(*.f64 x (/.f64 t z))
(*.f64 x (/.f64 (*.f64 (/.f64 y t) z) z))
(*.f64 x (/.f64 (/.f64 y t) (/.f64 z z)))
(*.f64 x (/.f64 (/.f64 y t) 1))
(*.f64 x (/.f64 y t))
Symmetry

(sort x y)

Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify109.0ms (2.8%)

Algorithm
egg-herbie
Rules
3786×associate-*r*
2832×associate-*l*
2274×associate-*r/
1216×associate-/r*
698×associate-*l/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
11819
24413
310413
443313
5207813
6226613
7227913
8229213
9229913
10230613
11231313
12232013
13232713
14233413
15234113
16234813
17235513
18236213
19236913
20237613
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
Outputs
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
(*.f64 x (/.f64 (/.f64 y z) (/.f64 t t)))
(/.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

eval1.0ms (0%)

Compiler

Compiled 39 to 16 computations (59% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New325
Fresh101
Picked000
Done000
Total426
Accurracy
99.9%
Counts
6 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.8%
(*.f64 y (/.f64 x z))
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize28.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 16 to 7 computations (56.3% saved)

series53.0ms (1.4%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
49.0ms
x
@0
(*.f64 x (/.f64 y z))
1.0ms
y
@inf
(*.f64 x (/.f64 y z))
1.0ms
y
@0
(*.f64 x (/.f64 y z))
0.0ms
z
@0
(*.f64 x (/.f64 y z))
0.0ms
x
@-inf
(*.f64 x (/.f64 y z))

rewrite56.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1556×pow1
1430×add-exp-log
1430×log1p-expm1-u
1430×expm1-log1p-u
1398×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114513
2191213
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
Outputs
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(/.f64 x (/.f64 z y))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 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))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))

simplify52.0ms (1.4%)

Algorithm
egg-herbie
Rules
1262×log-prod
962×fma-def
788×associate-*r*
750×associate-*l*
530×log-div
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058728
1139728
2519728
33550728
Stop Event
node limit
Counts
56 → 23
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(/.f64 x (/.f64 z y))
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 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))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1 (/.f64 z (*.f64 x y)))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x y) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) 1) z)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 (/.f64 y z)) x))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
(*.f64 x (/.f64 y z))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))

localize24.0ms (0.6%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
93.8%
(*.f64 y (/.f64 x z))
Compiler

Compiled 16 to 7 computations (56.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite59.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1556×pow1
1430×add-exp-log
1430×log1p-expm1-u
1430×expm1-log1p-u
1398×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114513
2191213
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(*.f64 y (/.f64 x z))
Outputs
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(/.f64 y (/.f64 z x))
(/.f64 1 (/.f64 z (*.f64 y x)))
(/.f64 (*.f64 y x) z)
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(/.f64 (/.f64 (*.f64 y x) 1) z)
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 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))
(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))))

simplify65.0ms (1.7%)

Algorithm
egg-herbie
Rules
1234×log-prod
1144×distribute-lft-in
948×fma-def
808×associate-*r*
708×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056728
1137728
2508728
33504728
Stop Event
node limit
Counts
56 → 22
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(/.f64 y (/.f64 z x))
(/.f64 1 (/.f64 z (*.f64 y x)))
(/.f64 (*.f64 y x) z)
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(/.f64 (/.f64 (*.f64 y x) 1) z)
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 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))
(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 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 y (/.f64 z x))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 1 (/.f64 z (*.f64 y x)))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (/.f64 (*.f64 y x) 1) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(log.f64 (pow.f64 (exp.f64 (/.f64 x z)) y))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z))))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(exp.f64 (log.f64 (*.f64 y (/.f64 x z))))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z))))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))

eval6.0ms (0.2%)

Compiler

Compiled 329 to 119 computations (63.8% saved)

prune89.0ms (2.3%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New42345
Fresh000
Picked011
Done011
Total42547
Accurracy
100.0%
Counts
47 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.3%
(/.f64 (*.f64 y x) z)
94.4%
(/.f64 y (/.f64 z x))
90.8%
(/.f64 x (/.f64 z y))
93.8%
(*.f64 y (/.f64 x z))
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 45 to 30 computations (33.3% saved)

localize72.0ms (1.9%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
90.8%
(/.f64 x (/.f64 z y))
Compiler

Compiled 16 to 7 computations (56.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f64 x (/.f64 z y))
0.0ms
y
@inf
(/.f64 x (/.f64 z y))
0.0ms
z
@inf
(/.f64 x (/.f64 z y))
0.0ms
y
@-inf
(/.f64 x (/.f64 z y))
0.0ms
z
@-inf
(/.f64 x (/.f64 z y))

rewrite144.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
1754×pow1
1622×add-exp-log
1622×log1p-expm1-u
1622×expm1-log1p-u
1586×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115113
2216113
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 x (/.f64 z y))
Outputs
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(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)
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.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 z y) 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))

simplify83.0ms (2.1%)

Algorithm
egg-herbie
Rules
1340×fma-def
1338×log-div
1172×log-prod
992×associate-*r/
814×associate-*l/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151159
12971135
210151135
356301103
Stop Event
node limit
Counts
77 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(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)
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(log.f64 (pow.f64 (exp.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 z y) 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2))
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y))))
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y)))
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y)))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z))))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y)))
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y))))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y))))
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2))
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y))))
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3))
(*.f64 (*.f64 (/.f64 x z) 1) y)
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3)
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3)
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2)
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 z (*.f64 x y)) -1)
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y)))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 x) (/.f64 y z)))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3))
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3)))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z))))
(*.f64 y (/.f64 x z))

localize36.0ms (0.9%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
94.4%
(/.f64 y (/.f64 z x))
Compiler

Compiled 16 to 7 computations (56.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(/.f64 y (/.f64 z x))
0.0ms
z
@-inf
(/.f64 y (/.f64 z x))
0.0ms
z
@inf
(/.f64 y (/.f64 z x))
0.0ms
x
@-inf
(/.f64 y (/.f64 z x))
0.0ms
x
@inf
(/.f64 y (/.f64 z x))

rewrite59.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1754×pow1
1622×add-exp-log
1622×log1p-expm1-u
1622×expm1-log1p-u
1586×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115113
2216113
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 y (/.f64 z x))
Outputs
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(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)
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 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))))

simplify108.0ms (2.8%)

Algorithm
egg-herbie
Rules
1678×log-div
1326×log-prod
1322×fma-def
1008×associate-*r/
852×associate-*l/
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01141159
12971135
210081135
357091135
Stop Event
node limit
Counts
77 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(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)
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 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 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x)))
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z))))
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x)))
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x))))
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x))))
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x))))
(*.f64 (*.f64 (/.f64 y z) 1) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 z (*.f64 y x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

localize26.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
91.3%
(/.f64 (*.f64 y x) z)
Compiler

Compiled 16 to 7 computations (56.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(/.f64 (*.f64 y x) z)
0.0ms
y
@0
(/.f64 (*.f64 y x) z)
0.0ms
y
@-inf
(/.f64 (*.f64 y x) z)
0.0ms
x
@-inf
(/.f64 (*.f64 y x) z)
0.0ms
x
@inf
(/.f64 (*.f64 y x) z)

rewrite54.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1618×pow1
1492×add-exp-log
1492×log1p-expm1-u
1492×expm1-log1p-u
1460×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify58.0ms (1.5%)

Algorithm
egg-herbie
Rules
1336×log-div
1146×log-prod
1054×fma-def
902×associate-/l*
744×associate-*r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01091095
1280903
2967711
34957671
Stop Event
node limit
Counts
41 → 49
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1)
(*.f64 y (/.f64 1 (/.f64 z x)))
(*.f64 y (*.f64 x (/.f64 1 z)))
(*.f64 x (*.f64 y (/.f64 1 z)))
(*.f64 (*.f64 y x) (/.f64 1 z))
(*.f64 (*.f64 (/.f64 y z) x) 1)
(*.f64 1 (*.f64 (/.f64 y z) x))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (cbrt.f64 (*.f64 y x)) (/.f64 1 z)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2) (cbrt.f64 (*.f64 (/.f64 y z) x)))
(*.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 y x)) (/.f64 1 z)))
(*.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) (sqrt.f64 (*.f64 (/.f64 y z) x)))
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 1 (neg.f64 z)))
(*.f64 (/.f64 1 z) (*.f64 y x))
(*.f64 (/.f64 y 1) (/.f64 x z))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 x 1) (/.f64 y z))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 y x) (cbrt.f64 z)))
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 y x) (sqrt.f64 z)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y x)) z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 y z) x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 y x)) (sqrt.f64 z)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) 1) (/.f64 (sqrt.f64 (*.f64 y x)) z))
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 y x)) (cbrt.f64 z)))
(pow.f64 (*.f64 (/.f64 y z) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2)
(pow.f64 (/.f64 (/.f64 z y) x) -1)
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2))
(log.f64 (exp.f64 (*.f64 (/.f64 y z) x)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) x)))
(exp.f64 (log.f64 (*.f64 (/.f64 y z) x)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x)))
Outputs
(-.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 1 (/.f64 z x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 y (*.f64 x (/.f64 1 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 x (*.f64 y (/.f64 1 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y x) (/.f64 1 z))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) x) 1)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 (/.f64 y z) x))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (cbrt.f64 (*.f64 y x)) (/.f64 1 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2) (cbrt.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 y x)) (/.f64 1 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) (sqrt.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 1 (neg.f64 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (*.f64 y x))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y 1) (/.f64 x z))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y)
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z)))
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y)
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z)))
(*.f64 (/.f64 x 1) (/.f64 y z))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 y x) (cbrt.f64 z)))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 y x) (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y)
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y x)) z))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 y z) x)))
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)))
(/.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 z) 2) (pow.f64 (cbrt.f64 (*.f64 y x)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 y x)) (sqrt.f64 z)))
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z)))
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y)
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) 1) (/.f64 (sqrt.f64 (*.f64 y x)) z))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 y x)) (cbrt.f64 z)))
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z)))
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3))
(pow.f64 (*.f64 (/.f64 y z) x) 1)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(pow.f64 (/.f64 (/.f64 z y) x) -1)
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(log.f64 (exp.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(exp.f64 (log.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x)))
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))

eval58.0ms (1.5%)

Compiler

Compiled 1442 to 498 computations (65.5% saved)

prune20.0ms (0.5%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New1450145
Fresh000
Picked011
Done044
Total1455150
Accurracy
100.0%
Counts
150 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.3%
(/.f64 (*.f64 y x) z)
94.4%
(/.f64 y (/.f64 z x))
90.8%
(/.f64 x (/.f64 z y))
93.8%
(*.f64 y (/.f64 x z))
90.8%
(*.f64 x (/.f64 y z))
Compiler

Compiled 45 to 30 computations (33.3% saved)

regimes341.0ms (8.9%)

Counts
6 → 5
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
Outputs
(/.f64 (*.f64 y x) z)
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
Calls

7 calls:

157.0ms
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
78.0ms
y
45.0ms
(/.f64 y z)
40.0ms
t
10.0ms
(/.f64 (*.f64 (/.f64 y z) t) t)
Results
AccuracySegmentsBranch
94.4%1x
94.4%1y
94.4%1z
94.4%1t
99.3%5(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t))
96.5%3(/.f64 (*.f64 (/.f64 y z) t) t)
99.8%5(/.f64 y z)
Compiler

Compiled 89 to 53 computations (40.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.8224086844846177e+126
3.150876268697229e+128
0.0ms
2.32944247466e-313
4.2264065126277315e-280
0.0ms
-1.7502973061562666e-102
-6.218094506328201e-103
0.0ms
-1.072065584453898e+203
-8.617695847062824e+199
Compiler

Compiled 20 to 14 computations (30% saved)

regimes33.0ms (0.9%)

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

5 calls:

16.0ms
(/.f64 y z)
5.0ms
y
4.0ms
x
4.0ms
t
4.0ms
z
Results
AccuracySegmentsBranch
94.4%1x
94.4%1y
94.4%1z
94.4%1t
99.8%5(/.f64 y z)
Compiler

Compiled 51 to 33 computations (35.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.8224086844846177e+126
3.150876268697229e+128
0.0ms
2.32944247466e-313
4.2264065126277315e-280
0.0ms
-2.609238743345628e-213
-9.829913666935479e-231
0.0ms
-inf
-6.660479673081152e+307
Compiler

Compiled 20 to 14 computations (30% saved)

regimes87.0ms (2.3%)

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

5 calls:

24.0ms
t
14.0ms
(/.f64 y z)
3.0ms
x
3.0ms
z
3.0ms
y
Results
AccuracySegmentsBranch
93.8%1x
93.8%1y
93.8%1z
93.8%1t
99.8%5(/.f64 y z)
Compiler

Compiled 46 to 31 computations (32.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.591572779714513e+165
8.943054413564581e+170
0.0ms
2.32944247466e-313
4.2264065126277315e-280
0.0ms
-1.650243401448032e-181
-1.0976766858427378e-197
0.0ms
-inf
-6.660479673081152e+307
Compiler

Compiled 20 to 14 computations (30% saved)

regimes26.0ms (0.7%)

Accuracy

Total -9.6b remaining (-5712.9%)

Threshold costs -9.6b (-5712.9%)

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

5 calls:

13.0ms
(/.f64 y z)
4.0ms
x
3.0ms
t
3.0ms
y
3.0ms
z
Results
AccuracySegmentsBranch
93.8%1x
93.8%1y
93.8%1z
93.8%1t
99.7%5(/.f64 y z)
Compiler

Compiled 41 to 29 computations (29.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.591572779714513e+165
8.943054413564581e+170
0.0ms
2.2588791839211888e-272
2.4107347766198143e-266
0.0ms
-1.0976766858427378e-197
-2.609238743345628e-213
0.0ms
-1.410417833135578e+286
-1.0629247098730338e+284
Compiler

Compiled 20 to 14 computations (30% saved)

simplify46.0ms (1.2%)

Algorithm
egg-herbie
Rules
20×not-or
18×if-not
16×if-if-or-not
12×not-not
*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055495
168477
277465
390453
499453
5108453
6110453
7114453
8115453
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 y z) -99999999999999998876910787506329447650934459829549922997503484884029261182361866844442696946000689845185920534555642245481492613075738123641525387194542623914743194966239051177873087980216425864602058752) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) -5043456793138493/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 y (/.f64 z x)) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z))))))
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z))))))
(*.f64 x (/.f64 y z))
Outputs
(if (<=.f64 (/.f64 y z) -99999999999999998876910787506329447650934459829549922997503484884029261182361866844442696946000689845185920534555642245481492613075738123641525387194542623914743194966239051177873087980216425864602058752) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) -5043456793138493/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 y (/.f64 z x)) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))) (/.f64 y (/.f64 z x)) (/.f64 x (/.f64 z y)))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))))) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (and (not (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784)) (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z))))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y)))))
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z))))
(if (or (<=.f64 (/.f64 y z) -inf.0) (not (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y)))
(if (or (<=.f64 (/.f64 y z) -inf.0) (not (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (and (not (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784)) (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y)))
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z))))))
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 (/.f64 y z) x) (if (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x))))
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (not (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 (/.f64 y z) x) (*.f64 y (/.f64 x z))))
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (not (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (not (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x))
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (not (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (and (not (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984)) (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x))
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (and (not (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064)) (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x))
(*.f64 x (/.f64 y z))
(*.f64 (/.f64 y z) x)
Compiler

Compiled 186 to 98 computations (47.3% saved)

soundness650.0ms (16.9%)

Rules
3786×associate-*r*
3786×associate-*r*
2832×associate-*l*
2832×associate-*l*
2274×associate-*r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
11819
24413
310413
443313
5207813
6226613
7227913
8229213
9229913
10230613
11231313
12232013
13232713
14233413
15234113
16234813
17235513
18236213
19236913
20237613
058728
1139728
2519728
33550728
01025
11819
24413
310413
443313
5207813
6226613
7227913
8229213
9229913
10230613
11231313
12232013
13232713
14233413
15234113
16234813
17235513
18236213
19236913
20237613
0713
114513
2191213
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 127 to 56 computations (55.9% saved)

end210.0ms (5.5%)

Compiler

Compiled 610 to 244 computations (60% saved)

Profiling

Loading profile data...