Details

Time bar (total: 14.9s)

analyze340.0ms (2.3%)

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
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
3.1%3.1%96.7%0.2%0%0%0%8
6.3%6.2%92%0.2%0%1.6%0%9
8.3%8.2%90.1%0.2%0%1.6%0%10
13.6%13.3%84.2%0.2%0%2.3%0%11
17.8%16.2%74.7%0.2%0%9%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample3.1s (20.7%)

Results
1.8s8256×body256valid
1.1s7592×body256invalid
125.0ms907×body256infinite
Bogosity

preprocess27.0ms (0.2%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
12×associate-/r*_binary64
swap-V-l
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03284
15684
26484
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
2
Call 2
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 A (sqrt.f64 (/.f64 c0 (*.f64 V l))))
(*.f64 V (sqrt.f64 (/.f64 A (*.f64 c0 l))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 V c0))))
(*.f64 l (sqrt.f64 (/.f64 A (*.f64 c0 V))))
(*.f64 c0 (sqrt.f64 (/.f64 V (*.f64 A l))))
(*.f64 c0 (sqrt.f64 (/.f64 l (*.f64 V A))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 l V) A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Symmetry

(sort V l)

Compiler

Compiled 16 to 12 computations (25% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21512
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

eval1.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
20.7b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
20.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.3b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
3.4b
(/.f64 A (*.f64 V l))
16.8b
(sqrt.f64 (/.f64 A (*.f64 V l)))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series54.0ms (0.4%)

Counts
3 → 12
Calls

30 calls:

TimeVariablePointExpression
5.0ms
c0
@inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
3.0ms
A
@inf
(/.f64 A (*.f64 V l))
2.0ms
V
@-inf
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
2.0ms
A
@0
(sqrt.f64 (/.f64 A (*.f64 V l)))
2.0ms
c0
@0
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

rewrite125.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
914×add-log-exp_binary64
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118528
2245628
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (/.f64 1 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (cbrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 1 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 V l)) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4)) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) 1) (/.f64 (cbrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 A (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 V l))) (/.f64 A (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) (sqrt.f64 (*.f64 V l))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (cbrt.f64 (/.f64 (/.f64 A V) l))) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 V l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))))

simplify22.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
102 → 91
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval23.0ms (0.2%)

Compiler

Compiled 1148 to 426 computations (62.9% saved)

prune32.0ms (0.2%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New761591
Fresh000
Picked011
Done000
Total761692
Error
5.1b
Counts
92 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
20.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
34.1b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
34.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
23.6b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
55.5b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
20.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
49.6b
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
23.9b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
24.5b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
30.0b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
19.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
41.5b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
31.5b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
34.1b
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
49.6b
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
44.6b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
Compiler

Compiled 444 to 314 computations (29.3% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 A)
2.3b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
2.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))
16.8b
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l)))
Compiler

Compiled 62 to 27 computations (56.5% saved)

series160.0ms (1.1%)

Counts
4 → 48
Calls

33 calls:

TimeVariablePointExpression
91.0ms
A
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l)))
14.0ms
c0
@0
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
12.0ms
l
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l)))
11.0ms
V
@0
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l)))
8.0ms
V
@inf
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
710×log-prod_binary64
344×pow2_binary64
289×pow-unpow_binary64
246×pow1/3_binary64
236×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
127831
2363431
Stop Event
node limit
Counts
4 → 151
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
(cbrt.f64 A)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cbrt.f64 A) l)) (/.f64 (cbrt.f64 A) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) (sqrt.f64 (/.f64 (cbrt.f64 A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 A (*.f64 V l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 A) (*.f64 (*.f64 V (pow.f64 (cbrt.f64 A) -2)) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 A) (*.f64 l (*.f64 V (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 V (/.f64 l (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (*.f64 (/.f64 l (cbrt.f64 A)) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 (*.f64 V l) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 A) 2) (/.f64 V (/.f64 (cbrt.f64 A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 l (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 A) l) (*.f64 V (pow.f64 (cbrt.f64 A) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 V (pow.f64 (cbrt.f64 A) -2)) (/.f64 l (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 l (cbrt.f64 A)) (*.f64 V (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 V l) A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (*.f64 V l) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 A)) (*.f64 (*.f64 V (pow.f64 (cbrt.f64 A) -2)) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (*.f64 (/.f64 l (cbrt.f64 A)) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A l) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 A V) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 A) (neg.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 A V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A)) (*.f64 (neg.f64 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) 1) (*.f64 (neg.f64 V) (/.f64 l (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 A) 2) (neg.f64 (cbrt.f64 A))) (*.f64 V (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (neg.f64 (cbrt.f64 A))) (*.f64 (neg.f64 V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (pow.f64 (cbrt.f64 A) 2)) (*.f64 (neg.f64 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) 1) (*.f64 (neg.f64 l) (*.f64 V (pow.f64 (cbrt.f64 A) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 A) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (*.f64 l (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (*.f64 (neg.f64 l) (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A l) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 A V) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 A) 2)) (/.f64 (cbrt.f64 A) l)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cbrt.f64 A)) (/.f64 (pow.f64 (cbrt.f64 A) 2) V)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (neg.f64 (cbrt.f64 A))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 A) l) (neg.f64 (pow.f64 (cbrt.f64 A) 2))) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) 6) (pow.f64 (/.f64 (cbrt.f64 A) l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) l) 3) (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 V (pow.f64 (cbrt.f64 A) -2)) (/.f64 l (cbrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l (cbrt.f64 A)) (*.f64 V (pow.f64 (cbrt.f64 A) -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) 6) (pow.f64 (/.f64 (cbrt.f64 A) l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 A) l) 3) (pow.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 V)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 A))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 A)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2) (cbrt.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 A)) (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/6) (pow.f64 A 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 A (cbrt.f64 A)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 A 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 A) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 A) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A A) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 A 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 A)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 A)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 A) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 A 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 A) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 A) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 A)) 1))))))

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
199 → 152
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize30.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.3b
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
7.0b
(/.f64 (/.f64 A V) l)
16.8b
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series26.0ms (0.2%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
2.0ms
A
@0
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
2.0ms
A
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
2.0ms
c0
@0
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
V
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
1.0ms
l
@-inf
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))

rewrite118.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
418×exp-prod_binary64
359×pow-prod-down_binary64
280×pow2_binary64
196×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
121728
2284428
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(pow.f64 (/.f64 (/.f64 A V) l) 1/2)
(/.f64 (/.f64 A V) l)
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 1 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A V) (/.f64 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 2) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (*.f64 (cbrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (*.f64 (sqrt.f64 (/.f64 A V)) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 A) V) (/.f64 1 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) (pow.f64 (/.f64 (/.f64 A V) l) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/4) (pow.f64 (/.f64 (/.f64 A V) l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (/.f64 A V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) 1) (/.f64 (cbrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) 1) (/.f64 (sqrt.f64 (/.f64 A V)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (cbrt.f64 (*.f64 l l))) (/.f64 (/.f64 1 V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) -2) (/.f64 (/.f64 A V) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (cbrt.f64 (*.f64 l l))) (cbrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 (*.f64 l l))) (/.f64 (sqrt.f64 (/.f64 A V)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A (sqrt.f64 l)) (/.f64 (/.f64 1 V) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A V) l) 5/6) (pow.f64 (/.f64 (/.f64 A V) l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A V) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 V A) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 V l) A) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l (/.f64 V A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))) 2)) (cbrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (log.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 A V) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 1) 1))))))

simplify26.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09396
113396
215396
Stop Event
saturated
Counts
166 → 120
Calls
Call 1
Inputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize50.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))
2.3b
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
6.7b
(/.f64 l (/.f64 A V))
17.1b
(sqrt.f64 (/.f64 l (/.f64 A V)))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series25.0ms (0.2%)

Counts
4 → 48
Calls

39 calls:

TimeVariablePointExpression
2.0ms
A
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
2.0ms
l
@-inf
(sqrt.f64 (/.f64 l (/.f64 A V)))
2.0ms
A
@0
(sqrt.f64 (/.f64 l (/.f64 A V)))
1.0ms
l
@0
(sqrt.f64 (/.f64 l (/.f64 A V)))
1.0ms
l
@-inf
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))

rewrite96.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
364×pow-prod-down_binary64
289×pow2_binary64
226×pow-unpow_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01140
123337
2314937
Stop Event
node limit
Counts
4 → 179
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 l (/.f64 A V)))
(/.f64 l (/.f64 A V))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 l)) (neg.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 V (/.f64 l A)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 V (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 V (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 V (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 2) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) (pow.f64 (*.f64 V (/.f64 l A)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 l) (/.f64 1 (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V A) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l A) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 V A)) (/.f64 l (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (/.f64 l (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) A) (/.f64 (cbrt.f64 l) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) A) (/.f64 (sqrt.f64 l) (/.f64 1 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) 1) (/.f64 (cbrt.f64 l) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) 1) (/.f64 (sqrt.f64 l) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A V)) -2) (/.f64 l (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (pow.f64 (cbrt.f64 (/.f64 A V)) 2)) (cbrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) (pow.f64 (cbrt.f64 (/.f64 A V)) 2)) (/.f64 (sqrt.f64 l) (cbrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (sqrt.f64 (/.f64 A V))) (/.f64 (cbrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (neg.f64 A)) (neg.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/4) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) 5/6) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) 1) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) (pow.f64 (cbrt.f64 V) 2)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l A) (sqrt.f64 V)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l 3) (pow.f64 (/.f64 A V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A (*.f64 l V)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 l (/.f64 (neg.f64 A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l 3) (pow.f64 (/.f64 A V) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 V (/.f64 l A)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 V (/.f64 l A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (*.f64 V (/.f64 l A)))) (pow.f64 (*.f64 V (/.f64 l A)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 -1) (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 V (/.f64 l A)) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 V (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 V (/.f64 l A)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) (pow.f64 (*.f64 V (/.f64 l A)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V (/.f64 l A)))) (pow.f64 (*.f64 V (/.f64 l A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V (/.f64 l A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 2) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V (/.f64 l A)) 1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 V (/.f64 l A))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V (/.f64 l A)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V (/.f64 l A))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V (/.f64 l A)) -1/4)) 2))))))

simplify22.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
227 → 182
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sqrt.f64 A) c0)
0.7b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
9.2b
(sqrt.f64 (*.f64 V l))
Compiler

Compiled 30 to 9 computations (70% saved)

series13.0ms (0.1%)

Counts
3 → 12
Calls

24 calls:

TimeVariablePointExpression
1.0ms
l
@-inf
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
1.0ms
V
@0
(sqrt.f64 (*.f64 V l))
1.0ms
V
@-inf
(sqrt.f64 (*.f64 V l))
1.0ms
A
@0
(*.f64 (sqrt.f64 A) c0)
1.0ms
l
@-inf
(sqrt.f64 (*.f64 V l))

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
573×log-prod_binary64
422×exp-prod_binary64
369×pow-prod-down_binary64
262×pow2_binary64
220×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
120426
2267626
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 V l))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 (sqrt.f64 A) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 V l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/6) (cbrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V l)) (pow.f64 (*.f64 V l) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) 1/4) (pow.f64 (*.f64 V l) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 V l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 V l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 V l)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 V l) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 V l))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 V l) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 V l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 V l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 V l) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 V l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 V l)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 V l))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (/.f64 1 (/.f64 (sqrt.f64 (*.f64 V l)) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l))) (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/2) (*.f64 (sqrt.f64 A) c0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 1) (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) 1) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) 1) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 V l))) (/.f64 c0 (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (cbrt.f64 (*.f64 V l))) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 V l))) (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (cbrt.f64 (*.f64 V l))) (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (cbrt.f64 (*.f64 V l))) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/4)) (/.f64 c0 (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (pow.f64 (*.f64 V l) 1/4)) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 V l) -1/4) (/.f64 (*.f64 (sqrt.f64 A) c0) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (pow.f64 (*.f64 V l) 1/4)) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (pow.f64 (*.f64 V l) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 V)) (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (sqrt.f64 V)) (/.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 V)) (/.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) (pow.f64 (*.f64 V l) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (neg.f64 (sqrt.f64 (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) (pow.f64 (*.f64 V l) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 (sqrt.f64 A) c0))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 A) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 A) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 A) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 A (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 A) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 A) c0) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 A) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 A) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 A) c0)) 1) 1))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
136 → 125
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize49.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))
1.5b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
9.2b
(sqrt.f64 (*.f64 l (neg.f64 V)))
Compiler

Compiled 44 to 11 computations (75% saved)

series13.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
2.0ms
V
@inf
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
1.0ms
l
@0
(sqrt.f64 (*.f64 l (neg.f64 V)))
1.0ms
l
@inf
(sqrt.f64 (*.f64 l (neg.f64 V)))
1.0ms
V
@0
(sqrt.f64 (*.f64 l (neg.f64 V)))
1.0ms
V
@inf
(sqrt.f64 (*.f64 l (neg.f64 V)))

rewrite68.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
600×log-prod_binary64
375×pow-prod-down_binary64
281×pow-unpow_binary64
268×pow2_binary64
191×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125227
2342527
Stop Event
node limit
Counts
3 → 109
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 l (neg.f64 V)))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l V)) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/6) (cbrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/4) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 l V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 l V))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 c0 (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c0 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) 1) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (cbrt.f64 (*.f64 l V))) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 (*.f64 l V) 1/4)) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 A)) c0) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 c0 (sqrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 l V)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V)))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) (cbrt.f64 (/.f64 A (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 A) (*.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) (pow.f64 (/.f64 A (*.f64 l V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A 1/4) (*.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 A)) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) 1) (/.f64 (pow.f64 A 1/6) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) 1) (/.f64 (pow.f64 A 1/4) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 l V))) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 (*.f64 l V))) (pow.f64 (/.f64 A (*.f64 l V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (cbrt.f64 (*.f64 l V))) (/.f64 (pow.f64 A 1/4) (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 A) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/6) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 A 1/4) (sqrt.f64 l)) (/.f64 (pow.f64 A 1/4) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/4) (/.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 A) (pow.f64 (*.f64 l V) 1/4)) (/.f64 (pow.f64 A 1/6) (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 l V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (*.f64 l V) A)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 A) (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3/2) (pow.f64 (*.f64 l V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 l V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 l V)) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 l V) A))) -1))))))

simplify108.0ms (0.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
121 → 110
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval156.0ms (1%)

Compiler

Compiled 9853 to 3710 computations (62.3% saved)

prune174.0ms (1.2%)

Pruning

26 alts after pruning (23 fresh and 3 done)

PrunedKeptTotal
New69721718
Fresh8210
Picked011
Done325
Total70826734
Error
3.4b
Counts
734 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
34.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
21.4b
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
34.0b
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
30.0b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
49.2b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
51.5b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
55.5b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
21.8b
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
20.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
49.2b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
34.9b
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
20.6b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
49.2b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
21.6b
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
20.8b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
34.1b
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
30.0b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
21.4b
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
30.0b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
41.5b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
34.9b
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
49.8b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
23.9b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
52.0b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
31.5b
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
21.6b
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
Compiler

Compiled 694 to 486 computations (30% saved)

localize58.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.1b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
3.4b
(/.f64 (*.f64 l V) A)
17.1b
(sqrt.f64 (/.f64 (*.f64 l V) A))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
1.0ms
l
@0
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
1.0ms
l
@0
(sqrt.f64 (/.f64 (*.f64 l V) A))
0.0ms
V
@-inf
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
0.0ms
l
@-inf
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
0.0ms
V
@inf
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))

rewrite89.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
546×log-prod_binary64
410×exp-prod_binary64
335×pow-prod-down_binary64
257×pow2_binary64
186×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119128
2266528
Stop Event
node limit
Counts
3 → 169
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (*.f64 l V) A))
(/.f64 (*.f64 l V) A)
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l (/.f64 A V))) (pow.f64 (/.f64 l (/.f64 A V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/6) (cbrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/4) (pow.f64 (/.f64 l (/.f64 A V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 A -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l V)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l (neg.f64 V))) (sqrt.f64 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 l V))) (neg.f64 (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 l (/.f64 A V))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 l (/.f64 A V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 l (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 1 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (*.f64 V (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (*.f64 l (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l V) (/.f64 1 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) (sqrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 l (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l (/.f64 A V))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) -2)) (cbrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 l V) 2)) (*.f64 (cbrt.f64 (*.f64 l V)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/4) (pow.f64 (/.f64 l (/.f64 A V)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) (*.f64 (sqrt.f64 (*.f64 l V)) (/.f64 1 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (neg.f64 V)) (/.f64 1 (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (*.f64 l V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) 3/4) (pow.f64 (/.f64 l (/.f64 A V)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A -1/2) (/.f64 (*.f64 l V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V 1) (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l A) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l V) 2)) 1) (/.f64 (cbrt.f64 (*.f64 l V)) A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l V)) 1) (/.f64 (sqrt.f64 (*.f64 l V)) A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (pow.f64 (cbrt.f64 A) 2)) (/.f64 V (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (pow.f64 (cbrt.f64 A) 2)) (/.f64 l (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 A) -2) (/.f64 (*.f64 l V) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l V) 2)) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (pow.f64 (cbrt.f64 A) 2)) (/.f64 (sqrt.f64 (*.f64 l V)) (cbrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (sqrt.f64 A)) (/.f64 V (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (sqrt.f64 A)) (/.f64 l (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l V) 2)) (sqrt.f64 A)) (/.f64 (cbrt.f64 (*.f64 l V)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) 5/6) (pow.f64 (/.f64 l (/.f64 A V)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 l (/.f64 A V))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l (/.f64 A V)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 A V) l) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 l (/.f64 A V)))) 2)) (cbrt.f64 (log.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 l (/.f64 A V))))) (sqrt.f64 (log.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 l V) (neg.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 l A)) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 l V) 3) (pow.f64 A 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 l (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 l (/.f64 A V)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A V) l) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 l (/.f64 A V)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A V) l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 l) 1) (log.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 l V)) 1) (log.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 l V)) (*.f64 (log.f64 A) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 l V)) 1) (*.f64 (log.f64 A) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 l (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 c0 (pow.f64 (/.f64 l (/.f64 A V)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 (/.f64 l (/.f64 A V)))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (/.f64 l (/.f64 A V)))) (/.f64 (sqrt.f64 c0) (pow.f64 (/.f64 l (/.f64 A V)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l (/.f64 A V)) -1/4) (/.f64 c0 (pow.f64 (/.f64 l (/.f64 A V)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 (/.f64 l (/.f64 A V)) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (/.f64 l (/.f64 A V)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (sqrt.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A V) l) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 l (/.f64 A V))) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (/.f64 l (/.f64 A V))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (sqrt.f64 (/.f64 l (/.f64 A V)))) 1)))))))

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
217 → 172
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.3b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
7.0b
(/.f64 (/.f64 A V) l)
16.8b
(sqrt.f64 (/.f64 (/.f64 A V) l))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series9.0ms (0.1%)

Counts
2 → 12
Calls

21 calls:

TimeVariablePointExpression
1.0ms
l
@0
(sqrt.f64 (/.f64 (/.f64 A V) l))
0.0ms
A
@0
(sqrt.f64 (/.f64 (/.f64 A V) l))
0.0ms
l
@-inf
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
0.0ms
V
@-inf
(sqrt.f64 (/.f64 (/.f64 A V) l))
0.0ms
A
@-inf
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
398×exp-prod_binary64
362×pow-prod-down_binary64
257×pow2_binary64
185×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
119121
2264821
Stop Event
node limit
Counts
2 → 72
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 A V) l))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (/.f64 A (*.f64 V l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (pow.f64 (/.f64 A (*.f64 V l)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A (*.f64 V l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A (*.f64 V l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A (*.f64 V l)) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
84 → 73
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2))
2.3b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
3.4b
(/.f64 A (*.f64 l V))
16.9b
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
Compiler

Compiled 45 to 19 computations (57.8% saved)

series276.0ms (1.8%)

Counts
4 → 84
Calls

39 calls:

TimeVariablePointExpression
126.0ms
V
@-inf
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
36.0ms
A
@0
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
22.0ms
l
@0
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
17.0ms
V
@0
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
16.0ms
A
@-inf
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)

rewrite196.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
617×log-prod_binary64
356×pow-prod-down_binary64
308×pow2_binary64
217×pow-unpow_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01240
125638
2325137
Stop Event
node limit
Counts
4 → 163
Calls
Call 1
Inputs
(pow.f64 (/.f64 A (*.f64 l V)) -1/2)
(/.f64 A (*.f64 l V))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 V (/.f64 A l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 V (/.f64 A l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/6) (cbrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) (pow.f64 (/.f64 (/.f64 A l) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/4) (pow.f64 (/.f64 (/.f64 A l) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 A -1/2) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) -1) (pow.f64 (/.f64 (/.f64 A l) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 V (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (/.f64 A l) V))) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/4 (log.f64 (/.f64 (/.f64 A l) V))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 A l) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 A (/.f64 (/.f64 1 l) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 A l) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 A A)) (*.f64 (cbrt.f64 A) (/.f64 (/.f64 1 l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) (pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 2) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) (pow.f64 (/.f64 (/.f64 A l) V) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 A) (/.f64 (/.f64 1 l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 A) (/.f64 1 (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 l) V) A)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 A l) (/.f64 1 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) (/.f64 A (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) 1) (/.f64 (cbrt.f64 A) (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 (sqrt.f64 A) (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) l) (/.f64 (sqrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 l) (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) l) (/.f64 (cbrt.f64 A) V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 V) (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) V) (/.f64 (cbrt.f64 A) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l V)) -2) (/.f64 A (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) (cbrt.f64 (pow.f64 (*.f64 l V) 2))) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 (pow.f64 (*.f64 l V) 2))) (/.f64 (sqrt.f64 A) (cbrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A A)) (sqrt.f64 (*.f64 l V))) (/.f64 (cbrt.f64 A) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 5/6) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -3/2) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/6) -6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 l V) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 V (/.f64 A l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 A (*.f64 l (neg.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 A 3) (pow.f64 (*.f64 l V) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (/.f64 A l) V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (/.f64 A l) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 A l) V))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 c0) 2) (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (/.f64 (/.f64 A l) V) -1/4)) (pow.f64 (/.f64 (/.f64 A l) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (/.f64 V (/.f64 A l)))) (pow.f64 (/.f64 (/.f64 A l) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 -1) (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A l) V) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 (/.f64 A l) V) (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (/.f64 (/.f64 A l) V) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A l) V))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) (cbrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) (pow.f64 (/.f64 (/.f64 A l) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) (pow.f64 (/.f64 (/.f64 A l) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 (*.f64 l V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 A l) V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 A l) V) -1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (/.f64 V (/.f64 A l))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A l) V))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 A l) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A l) V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 A l) V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 (/.f64 A l) V))) 2))))))

simplify68.0ms (0.5%)

Algorithm
egg-herbie
Rules
713×fma-def_binary64
476×exp-sum_binary64
436×fma-neg_binary64
352×div-sub_binary64
298×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701044
1183972
2457864
31199756
43287756
Stop Event
node limit
Counts
247 → 177
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(/.f64 A (*.f64 V l))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (log.f64 A))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 (*.f64 V l))) (*.f64 -1 (log.f64 (/.f64 1 A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 A))) (log.f64 (/.f64 -1 (*.f64 V l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 l)) (log.f64 (/.f64 A V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A V)) (log.f64 (/.f64 1 l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 A l)) (*.f64 -1 (log.f64 V)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 V)) (log.f64 (/.f64 A l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (neg.f64 (log.f64 (*.f64 V l))) (log.f64 A)))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 A) (log.f64 (*.f64 V l))))
(*.f64 (pow.f64 (/.f64 A l) -1/2) (pow.f64 V 1/2))
(pow.f64 (/.f64 (/.f64 A l) V) -1/2)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(/.f64 A (*.f64 V l))
(/.f64 (/.f64 A l) V)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A l) V)) c0)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
1.8b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
17.6b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 37 to 16 computations (56.8% saved)

series14.0ms (0.1%)

Counts
3 → 12
Calls

27 calls:

TimeVariablePointExpression
1.0ms
A
@inf
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
1.0ms
A
@0
(sqrt.f64 (/.f64 A V))
1.0ms
A
@-inf
(sqrt.f64 (/.f64 A V))
1.0ms
V
@-inf
(sqrt.f64 (/.f64 A V))
1.0ms
V
@0
(sqrt.f64 (/.f64 A V))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
428×exp-prod_binary64
389×pow-prod-down_binary64
296×pow2_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
123233
2287233
Stop Event
node limit
Counts
3 → 96
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 A V))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/6) (cbrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 V) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 A V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V A) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 A V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 A V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V A) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 V) (sqrt.f64 A)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 A V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 A V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 A V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (/.f64 A V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 A V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A V))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c0 (pow.f64 l -1/2)) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (*.f64 (/.f64 A V) (/.f64 1 l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (*.f64 (/.f64 A V) (/.f64 1 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (*.f64 c0 (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (*.f64 c0 (pow.f64 l -1/2)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (pow.f64 l -1/2)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 l -1/2) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 A V) (/.f64 1 l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A V))) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l -3/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))) 1) 1))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
108 → 97
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
0.2b
(/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))
1.8b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
17.6b
(sqrt.f64 (/.f64 A V))
Compiler

Compiled 45 to 14 computations (68.9% saved)

series13.0ms (0.1%)

Counts
3 → 12
Calls

30 calls:

TimeVariablePointExpression
1.0ms
A
@-inf
(/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))
1.0ms
V
@-inf
(/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))
0.0ms
l
@-inf
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
0.0ms
A
@-inf
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
0.0ms
V
@-inf
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))

rewrite79.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
661×log-prod_binary64
397×pow-prod-down_binary64
309×pow2_binary64
263×pow-unpow_binary64
219×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01233
125430
2337630
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))
(/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 c0 c0)) (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) (cbrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 c0) (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) (sqrt.f64 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 c0) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) 1/4)) (pow.f64 (*.f64 (/.f64 l A) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 1) (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 c0 (cbrt.f64 (*.f64 (/.f64 l A) V))) (pow.f64 (*.f64 (/.f64 l A) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 c0) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 -1) (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) (cbrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) (pow.f64 (*.f64 (/.f64 l A) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 l) (*.f64 (pow.f64 l 1/6) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l 1/4) (*.f64 (pow.f64 l 1/4) (sqrt.f64 (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) (pow.f64 (*.f64 (/.f64 l A) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 l)) (/.f64 1 (neg.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 V A)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 l) 1) (/.f64 (pow.f64 l 1/6) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l 1/4) 1) (/.f64 (pow.f64 l 1/4) (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 A V))) (/.f64 (sqrt.f64 l) (pow.f64 (/.f64 A V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 l) (cbrt.f64 (/.f64 A V))) (pow.f64 (*.f64 (/.f64 l A) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l 1/4) (cbrt.f64 (/.f64 A V))) (/.f64 (pow.f64 l 1/4) (pow.f64 (/.f64 A V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A V) -1/4) (/.f64 (sqrt.f64 l) (pow.f64 (/.f64 A V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 l) (pow.f64 (/.f64 A V) 1/4)) (/.f64 (pow.f64 l 1/6) (pow.f64 (/.f64 A V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) (sqrt.f64 A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l 3/2) (pow.f64 (/.f64 A V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 l) (neg.f64 (sqrt.f64 (/.f64 A V)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 l A) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l 3/2) (pow.f64 (/.f64 A V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (/.f64 A V) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) (cbrt.f64 (*.f64 (pow.f64 l -1) (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 l -1) (/.f64 A V))) (pow.f64 (*.f64 (/.f64 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) (pow.f64 (*.f64 (/.f64 l A) V) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 (/.f64 l A) V))) (pow.f64 (*.f64 (/.f64 l A) V) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) 1) (/.f64 (pow.f64 (/.f64 A V) 1/6) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) 1) (/.f64 (pow.f64 (/.f64 A V) 1/4) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (cbrt.f64 l)) (/.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (cbrt.f64 l)) (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 (sqrt.f64 (/.f64 A V)) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 A V)) (pow.f64 l 1/4)) (/.f64 (pow.f64 (/.f64 A V) 1/6) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/4)) (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (sqrt.f64 l))) (neg.f64 (sqrt.f64 (/.f64 A V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 l -1/2) 1) (sqrt.f64 (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 l -1/2) (cbrt.f64 (/.f64 A V))) (pow.f64 (/.f64 A V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 l -1/2) (pow.f64 (/.f64 A V) 1/4)) (pow.f64 (/.f64 A V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 l -1) (/.f64 A V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A V) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 A V) 1/4) (pow.f64 l 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 l -1) (/.f64 A V)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 A V) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 A V) 3/2) (pow.f64 l 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 A V) l))) 1))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
Stop Event
saturated
Counts
136 → 125
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

eval247.0ms (1.7%)

Compiler

Compiled 10302 to 4254 computations (58.7% saved)

prune193.0ms (1.3%)

Pruning

27 alts after pruning (21 fresh and 6 done)

PrunedKeptTotal
New74014754
Fresh11718
Picked101
Done167
Total75327780
Error
2.0b
Counts
780 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
35.7b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
52.0b
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
34.0b
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
21.1b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
21.4b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
21.1b
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
49.2b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
51.5b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
26.9b
(*.f64 c0 (/.f64 1 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))))
30.0b
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
20.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
23.9b
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
34.9b
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
21.8b
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
35.7b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))))
49.2b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
49.2b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
55.5b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
20.6b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
20.8b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
49.8b
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
23.9b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
34.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
21.0b
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
30.0b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
31.5b
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
41.5b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
Compiler

Compiled 689 to 495 computations (28.2% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.3b
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
4.0b
(/.f64 V (/.f64 A l))
17.0b
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
Compiler

Compiled 33 to 12 computations (63.6% saved)

series137.0ms (0.9%)

Counts
3 → 84
Calls

30 calls:

TimeVariablePointExpression
21.0ms
A
@0
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
20.0ms
l
@-inf
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
18.0ms
A
@-inf
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
15.0ms
V
@0
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
15.0ms
V
@-inf
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)

rewrite72.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
581×log-prod_binary64
451×exp-prod_binary64
322×pow-prod-down_binary64
286×pow2_binary64
208×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01030
121730
2289328
Stop Event
node limit
Counts
3 → 108
Calls
Call 1
Inputs
(pow.f64 (/.f64 V (/.f64 A l)) -1/2)
(/.f64 V (/.f64 A l))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/6) (cbrt.f64 (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) (pow.f64 (*.f64 l (/.f64 V A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/4) (pow.f64 (*.f64 l (/.f64 V A)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (sqrt.f64 (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) -1) (pow.f64 (*.f64 l (/.f64 V A)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 V A) -1/2) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l (/.f64 V A)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 l (/.f64 V A)))) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l (/.f64 V A)) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/4 (log.f64 (*.f64 l (/.f64 V A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) -1/4) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (/.f64 V A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 V (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 V A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (/.f64 V A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 l (/.f64 V A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 V V)) (*.f64 (cbrt.f64 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 2) (cbrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (*.f64 (sqrt.f64 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) (sqrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 V) (/.f64 1 (/.f64 (neg.f64 A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l A) V)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V A) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 A) (/.f64 V (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 V V)) A) (/.f64 (cbrt.f64 V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) A) (/.f64 (sqrt.f64 V) (/.f64 1 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 V V)) 1) (/.f64 (cbrt.f64 V) (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) 1) (/.f64 (sqrt.f64 V) (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 A l)) -2) (/.f64 V (cbrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 V V)) (cbrt.f64 (pow.f64 (/.f64 A l) 2))) (cbrt.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 V) (cbrt.f64 (pow.f64 (/.f64 A l) 2))) (/.f64 (sqrt.f64 V) (cbrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 A l) -1/2) (/.f64 V (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 V V)) (sqrt.f64 (/.f64 A l))) (/.f64 (cbrt.f64 V) (sqrt.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V 1) (/.f64 l A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 V (neg.f64 A)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 V A) 1) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 V A) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 V A) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (/.f64 V A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (/.f64 V A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (/.f64 V A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 V 3) (pow.f64 (/.f64 A l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 A (*.f64 V l)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 l (/.f64 V A)))) 2)) (cbrt.f64 (log.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 l (/.f64 V A))))) (sqrt.f64 (log.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 V (/.f64 (neg.f64 A) l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (/.f64 V A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 V 3) (pow.f64 (/.f64 A l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (/.f64 V A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l (/.f64 V A)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 l (/.f64 V A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (/.f64 V A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 A (*.f64 V l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l (/.f64 V A))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (/.f64 A (*.f64 V l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) c0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 1) 1))))))

simplify69.0ms (0.5%)

Algorithm
egg-herbie
Rules
537×exp-sum_binary64
487×fma-neg_binary64
378×div-sub_binary64
370×exp-diff_binary64
345×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
071972
1190972
2468864
31198756
43717756
Stop Event
node limit
Counts
192 → 121
Calls
Call 1
Inputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 V) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 V))) (log.f64 (/.f64 l A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (/.f64 l A))) (*.f64 -1 (log.f64 (/.f64 -1 V))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 1 A)) (log.f64 (*.f64 V l)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (*.f64 -1 (*.f64 V l))) (log.f64 (/.f64 -1 A)))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (log.f64 l))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 V A)) (*.f64 -1 (log.f64 (/.f64 1 l))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 l))) (log.f64 (*.f64 -1 (/.f64 V A))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 V) (log.f64 (/.f64 l A))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 (*.f64 V l)) (log.f64 A)))
(*.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))
(pow.f64 (*.f64 (/.f64 V A) l) -1/2)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(/.f64 (*.f64 V l) A)
(*.f64 (/.f64 l A) V)
(*.f64 (/.f64 V A) l)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.1b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
4.5b
(*.f64 (/.f64 l A) V)
17.1b
(sqrt.f64 (*.f64 (/.f64 l A) V))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

30 calls:

TimeVariablePointExpression
0.0ms
l
@0
(sqrt.f64 (*.f64 (/.f64 l A) V))
0.0ms
A
@-inf
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
0.0ms
A
@-inf
(sqrt.f64 (*.f64 (/.f64 l A) V))
0.0ms
V
@-inf
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
0.0ms
V
@-inf
(sqrt.f64 (*.f64 (/.f64 l A) V))

rewrite76.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
538×log-prod_binary64
402×exp-prod_binary64
331×pow-prod-down_binary64
257×pow2_binary64
201×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119128
2261328
Stop Event
node limit
Counts
3 → 137
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 l A) V))
(*.f64 (/.f64 l A) V)
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) (pow.f64 (*.f64 (/.f64 l A) V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) (cbrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) (pow.f64 (*.f64 (/.f64 l A) V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 l V)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (/.f64 l A) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (/.f64 l A) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 l A) V))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 A V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 V (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l V) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 l V)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 l V) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) V) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V (neg.f64 l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l A) V) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l A) V)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l A) V) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 l V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 l A) V))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 l A) V)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l A) V) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (/.f64 l A) V))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 l A) V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 l A) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 V) 1) (log.f64 (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 l V)) (*.f64 (log.f64 A) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/2) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (*.f64 (/.f64 l A) V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 (/.f64 l A) V))) (/.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 (*.f64 (/.f64 l A) V))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (*.f64 (/.f64 l A) V))) (/.f64 (sqrt.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 l A) V) -1/4) (/.f64 c0 (pow.f64 (*.f64 (/.f64 l A) V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 (*.f64 (/.f64 l A) V) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (*.f64 (/.f64 l A) V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 l A) -1/2) (/.f64 c0 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (sqrt.f64 (/.f64 l A))) (/.f64 (cbrt.f64 c0) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 l A))) (/.f64 (sqrt.f64 c0) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 (/.f64 l A) V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 (/.f64 l A) V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (*.f64 (/.f64 l A) V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 l A) V))) 1)))))))

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
185 → 141
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 c0 (sqrt.f64 (*.f64 l V)))
1.2b
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
9.2b
(sqrt.f64 (*.f64 l V))
Compiler

Compiled 32 to 9 computations (71.9% saved)

series15.0ms (0.1%)

Counts
3 → 24
Calls

27 calls:

TimeVariablePointExpression
1.0ms
A
@-inf
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
1.0ms
V
@0
(/.f64 c0 (sqrt.f64 (*.f64 l V)))
1.0ms
c0
@0
(/.f64 c0 (sqrt.f64 (*.f64 l V)))
1.0ms
l
@-inf
(/.f64 c0 (sqrt.f64 (*.f64 l V)))
1.0ms
V
@-inf
(/.f64 c0 (sqrt.f64 (*.f64 l V)))

rewrite97.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
549×log-prod_binary64
398×exp-prod_binary64
369×pow-prod-down_binary64
262×pow2_binary64
229×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
120429
2260429
Stop Event
node limit
Counts
3 → 133
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 l V))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(/.f64 c0 (sqrt.f64 (*.f64 l V)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 l V)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/6) (cbrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l V)) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) 1/4) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 V) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l V)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l V)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l V) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l V))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l V) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l V)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 l V))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 l V) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 l V))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l V)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 l V)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 (*.f64 l V)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c0 (/.f64 (sqrt.f64 (*.f64 l V)) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 A) (/.f64 (sqrt.f64 (*.f64 l V)) c0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 c0 (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c0 (sqrt.f64 A))) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) 1) (sqrt.f64 (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (cbrt.f64 (*.f64 l V))) (pow.f64 (*.f64 l V) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 (*.f64 l V) 1/4)) (pow.f64 (*.f64 l V) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 c0) (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 A) (neg.f64 c0)) (neg.f64 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (/.f64 (*.f64 c0 c0) (*.f64 l V))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l V)) (*.f64 c0 (sqrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 A (/.f64 (*.f64 c0 c0) (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 A)) (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 A) 1/2) (log.f64 (/.f64 (sqrt.f64 (*.f64 l V)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 A)) 1) (log.f64 (/.f64 (sqrt.f64 (*.f64 l V)) c0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 c0 (sqrt.f64 A))) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 c0 (sqrt.f64 A))) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (pow.f64 (*.f64 l V) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 c0) 2) (*.f64 (cbrt.f64 c0) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l V))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (pow.f64 (*.f64 l V) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c0) (/.f64 1 (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/2) c0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) 1) (/.f64 (cbrt.f64 c0) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) 1) (/.f64 (sqrt.f64 c0) (sqrt.f64 (*.f64 l V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 l V))) (/.f64 c0 (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (cbrt.f64 (*.f64 l V))) (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (cbrt.f64 (*.f64 l V))) (/.f64 (sqrt.f64 c0) (pow.f64 (*.f64 l V) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 l V) -1/4) (/.f64 c0 (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (pow.f64 (*.f64 l V) 1/4)) (/.f64 (cbrt.f64 c0) (pow.f64 (*.f64 l V) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (/.f64 c0 (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 c0) 2) (sqrt.f64 l)) (/.f64 (cbrt.f64 c0) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 c0) (sqrt.f64 l)) (/.f64 (sqrt.f64 c0) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c0 c0) (*.f64 l V)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l V)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l V) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (*.f64 l V)) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 2)) (cbrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))) (sqrt.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 c0 (neg.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 c0 c0) (*.f64 l V)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 c0 3) (pow.f64 (*.f64 l V) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 l V)) c0)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (log.f64 (sqrt.f64 (*.f64 l V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (*.f64 l V)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 c0) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 c0) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 l V))) 1)))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013288
122288
226288
Stop Event
saturated
Counts
157 → 137
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 V l))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 1 V) l)))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)
2.3b
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
4.5b
(*.f64 V (/.f64 l A))
20.8b
(cbrt.f64 (*.f64 V (/.f64 l A)))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series24.0ms (0.2%)

Counts
4 → 48
Calls

39 calls:

TimeVariablePointExpression
2.0ms
l
@-inf
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
1.0ms
V
@0
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)
1.0ms
V
@-inf
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)
1.0ms
A
@-inf
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)
1.0ms
l
@-inf
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)

rewrite77.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
573×log-prod_binary64
435×exp-prod_binary64
358×pow-prod-down_binary64
294×pow2_binary64
225×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01143
123039
2285539
Stop Event
node limit
Counts
4 → 128
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 V (/.f64 l A)))
(*.f64 V (/.f64 l A))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 V) (cbrt.f64 (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 V (/.f64 A l)) 1/6) (pow.f64 (/.f64 V (/.f64 A l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 V l)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (/.f64 V (/.f64 A l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 V (/.f64 A l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 V (/.f64 A l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 V (/.f64 A l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 A (*.f64 V l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V l) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 V l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) 1) A)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (pow.f64 (cbrt.f64 A) 2)) (cbrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 V l) (sqrt.f64 A)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 l) V) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 V (neg.f64 l)) (neg.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 V (/.f64 A l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 V (/.f64 A l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 V (/.f64 A l)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 A (*.f64 V l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 V (/.f64 A l)))) 2)) (cbrt.f64 (log.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 V (/.f64 A l))))) (sqrt.f64 (log.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 V) (/.f64 l A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 V (/.f64 A l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 V (/.f64 A l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 V (/.f64 A l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 1) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c0 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 V (/.f64 A l)) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))) (sqrt.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 c0 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 V (/.f64 A l)) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 c0 3) (pow.f64 (/.f64 V (/.f64 A l)) -3/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 c0) (pow.f64 (/.f64 V (/.f64 A l)) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/6) (cbrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1)) (pow.f64 (/.f64 V (/.f64 A l)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/4) (pow.f64 (/.f64 V (/.f64 A l)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (pow.f64 (/.f64 l A) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) -3) (pow.f64 (/.f64 V (/.f64 A l)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 V (/.f64 A l)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (/.f64 V (/.f64 A l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (/.f64 V (/.f64 A l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 V (/.f64 A l)) -3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (/.f64 V (/.f64 A l)))) -3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 V (/.f64 A l)) -1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/4 (log.f64 (/.f64 V (/.f64 A l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 V (/.f64 A l))) 1/3) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) 1) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 -1/2 (log.f64 (/.f64 V (/.f64 A l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 V (/.f64 A l)))) -3/4) 2))))))

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010396
116396
220396
323396
424396
Stop Event
saturated
Counts
176 → 131
Calls
Call 1
Inputs
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(/.f64 (*.f64 V l) A)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
Outputs
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(/.f64 (*.f64 V l) A)
(/.f64 V (/.f64 A l))
(*.f64 (/.f64 V A) l)
(*.f64 l (/.f64 V A))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c0 (sqrt.f64 A))
0.3b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
0.7b
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
Compiler

Compiled 35 to 10 computations (71.4% saved)

series15.0ms (0.1%)

Counts
3 → 36
Calls

27 calls:

TimeVariablePointExpression
3.0ms
A
@-inf
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
1.0ms
c0
@0
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
1.0ms
l
@-inf
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
1.0ms
l
@0
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
1.0ms
A
@0
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
642×log-prod_binary64
437×pow-prod-down_binary64
297×pow2_binary64
230×pow-unpow_binary64
209×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01133
123029
2315529
Stop Event
node limit
Counts
3 → 126
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l))
(*.f64 c0 (sqrt.f64 A))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 (*.f64 V l) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (pow.f64 V -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))) (cbrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V)) (cbrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (*.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))) (sqrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (*.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (pow.f64 V -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 c0) (sqrt.f64 (/.f64 l A))) (/.f64 1 (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/2) (/.f64 c0 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 V)) (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (sqrt.f64 V)) (/.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A))) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (sqrt.f64 V)) (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) 1) (/.f64 (pow.f64 l -1/2) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) 1) (/.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) 1) (/.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (sqrt.f64 V)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (cbrt.f64 V)) (/.f64 (pow.f64 l -1/2) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 V)) (/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (cbrt.f64 V)) (cbrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (cbrt.f64 V)) (/.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (pow.f64 V 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 V 1/4)) (/.f64 (pow.f64 l -1/2) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 V -1/4) (/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (pow.f64 V 1/4)) (/.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (pow.f64 V 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 V) c0) (sqrt.f64 (/.f64 l A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 3) (pow.f64 V 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) (sqrt.f64 V)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 V l)) (*.f64 c0 (sqrt.f64 A))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 V) c0) (sqrt.f64 (/.f64 l A))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) (neg.f64 (sqrt.f64 V))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 3) (pow.f64 V 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 V) c0) (sqrt.f64 (/.f64 l A)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 c0 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c0 (*.f64 (sqrt.f64 A) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 l -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 c0 (sqrt.f64 (/.f64 l A))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A))) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (*.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (pow.f64 l -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c0 (neg.f64 (sqrt.f64 A))) (/.f64 1 (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/2) (*.f64 c0 (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 A))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 1) (/.f64 (sqrt.f64 A) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) 1) (/.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A))) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) 1) (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (cbrt.f64 l)) (/.f64 (sqrt.f64 A) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (cbrt.f64 l)) (/.f64 c0 (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 l)) (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (cbrt.f64 l)) (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (cbrt.f64 l)) (/.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) (pow.f64 l 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c0 (pow.f64 l 1/4)) (/.f64 (sqrt.f64 A) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 A) (pow.f64 l 1/4)) (/.f64 c0 (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l -1/4) (/.f64 (*.f64 c0 (sqrt.f64 A)) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 A (*.f64 c0 c0))) (pow.f64 l 1/4)) (/.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A))) (pow.f64 l 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 c0 (sqrt.f64 A)) 3) (pow.f64 l 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (neg.f64 (sqrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 c0 (sqrt.f64 A)) 3) (pow.f64 l 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 c0 (sqrt.f64 (/.f64 l A))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (/.f64 l A)) c0)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 c0 (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 A)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 c0 (sqrt.f64 A)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 A (*.f64 c0 c0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 c0 (sqrt.f64 A)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 A (*.f64 c0 c0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 A)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 c0 (sqrt.f64 A)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 c0 (sqrt.f64 A)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 c0 (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 c0 (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 c0 (sqrt.f64 A))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 c0 (sqrt.f64 A))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 c0 (sqrt.f64 A)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 A)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 A)))) 2))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014324
120324
221324
Stop Event
saturated
Counts
162 → 132
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
(*.f64 (sqrt.f64 A) c0)
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 (/.f64 A l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A l)))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))

eval134.0ms (0.9%)

Compiler

Compiled 9042 to 3257 computations (64% saved)

prune120.0ms (0.8%)

Pruning

27 alts after pruning (17 fresh and 10 done)

PrunedKeptTotal
New6584662
Fresh31316
Picked101
Done01010
Total66227689
Error
2.0b
Counts
689 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
34.6b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
12.5b
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
59.5b
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
34.0b
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
21.1b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
21.4b
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
21.1b
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
26.9b
(*.f64 c0 (/.f64 1 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))))
30.0b
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
20.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
23.9b
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
34.9b
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
21.8b
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
35.7b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))))
49.2b
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
49.9b
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
49.2b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
52.0b
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
30.0b
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
55.5b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
20.6b
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
20.8b
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
23.9b
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
35.7b
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
21.0b
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
31.5b
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
41.5b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
Compiler

Compiled 385 to 275 computations (28.6% saved)

regimes850.0ms (5.7%)

Counts
55 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))))
(*.f64 c0 (/.f64 1 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 (/.f64 -1 V)) (log.f64 (*.f64 -1 (/.f64 A l))))))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 A) 2) V) (/.f64 (cbrt.f64 A) l))))
Outputs
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
Calls

10 calls:

150.0ms
l
123.0ms
A
100.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
96.0ms
V
83.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
12.5b1c0
4.4b4A
8.1b3V
8.9b5l
8.2b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
7.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
7.9b3(/.f64 A (*.f64 V l))
7.9b3(/.f64 A (*.f64 V l))
3.6b3(*.f64 V l)
3.6b3(*.f64 V l)
Compiler

Compiled 647 to 273 computations (57.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.95529552929195e+294
3.9234434216601637e+298
0.0ms
-0.0
3.727418176913454e-291
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes1.0s (6.8%)

Counts
50 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
Outputs
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
Calls

10 calls:

299.0ms
l
170.0ms
V
150.0ms
A
77.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
65.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
12.5b1c0
4.4b4A
8.1b3V
8.9b5l
8.2b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
7.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
7.9b3(/.f64 A (*.f64 V l))
7.9b3(/.f64 A (*.f64 V l))
3.6b3(*.f64 V l)
3.6b3(*.f64 V l)
Compiler

Compiled 581 to 245 computations (57.8% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.95529552929195e+294
3.9234434216601637e+298
0.0ms
-0.0
3.727418176913454e-291
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes736.0ms (4.9%)

Counts
49 → 5
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)) 3)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2) (pow.f64 c0 3)))
Outputs
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))
Calls

10 calls:

111.0ms
A
103.0ms
(*.f64 V l)
102.0ms
l
102.0ms
(*.f64 V l)
75.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
12.5b1c0
8.0b4A
9.6b2V
10.3b4l
8.2b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
7.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
7.9b3(/.f64 A (*.f64 V l))
7.9b3(/.f64 A (*.f64 V l))
3.5b5(*.f64 V l)
3.5b5(*.f64 V l)
Compiler

Compiled 568 to 239 computations (57.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.95529552929195e+294
3.9234434216601637e+298
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-2.1985875406413792e-274
-2.3481201922975444e-286
0.0ms
-inf
-1.912167923780145e+304
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes885.0ms (5.9%)

Counts
45 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(*.f64 c0 (*.f64 (sqrt.f64 A) (/.f64 1 (sqrt.f64 (*.f64 V l)))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (/.f64 (neg.f64 A) V)))))
(/.f64 (/.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) 1/4)) (pow.f64 (*.f64 V (/.f64 l A)) 1/4))
(/.f64 (/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 l)) (sqrt.f64 V))
Outputs
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V)))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
Calls

10 calls:

142.0ms
c0
127.0ms
V
111.0ms
A
108.0ms
(*.f64 V l)
90.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
17.8b4c0
9.2b3A
13.6b5V
14.2b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
13.9b3(/.f64 A (*.f64 V l))
6.9b4(*.f64 V l)
6.9b4(*.f64 V l)
Compiler

Compiled 523 to 221 computations (57.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-9.966090385703586e-228
-2.102029798629889e-242
0.0ms
-inf
-1.912167923780145e+304
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes580.0ms (3.9%)

Counts
40 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (pow.f64 (cbrt.f64 (*.f64 V (/.f64 l A))) -3/2))
(*.f64 (sqrt.f64 A) (*.f64 c0 (pow.f64 (*.f64 V l) -1/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(*.f64 c0 (cbrt.f64 (pow.f64 (/.f64 (/.f64 A V) l) 3/2)))
(/.f64 (sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l)) (sqrt.f64 V))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 (neg.f64 A) V)) (sqrt.f64 (neg.f64 l))))
(*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))))
(*.f64 (/.f64 (sqrt.f64 A) 1) (/.f64 c0 (sqrt.f64 (*.f64 V l))))
(*.f64 c0 (/.f64 1 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V))))
Outputs
(*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
Calls

10 calls:

89.0ms
c0
86.0ms
V
76.0ms
(*.f64 V l)
75.0ms
(*.f64 V l)
53.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
ErrorSegmentsBranch
17.8b4c0
10.7b2A
14.3b5V
14.2b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
13.9b3(/.f64 A (*.f64 V l))
9.1b4(*.f64 V l)
9.1b4(*.f64 V l)
Compiler

Compiled 461 to 198 computations (57% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-2.363497123083259e+154
-7.858441967194761e+141
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes410.0ms (2.7%)

Counts
29 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
Outputs
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A)))
Calls

10 calls:

66.0ms
c0
65.0ms
V
45.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
43.0ms
(*.f64 V l)
42.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
17.8b4c0
10.7b2A
14.3b5V
14.2b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
13.9b3(/.f64 A (*.f64 V l))
9.1b4(*.f64 V l)
9.1b4(*.f64 V l)
Compiler

Compiled 345 to 158 computations (54.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-3.7969694183366423e+136
-2.0768369597168216e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes720.0ms (4.8%)

Counts
28 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 A (*.f64 V l))) 3/2) c0)
Outputs
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0)
Calls

10 calls:

144.0ms
(*.f64 V l)
133.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
120.0ms
(/.f64 A (*.f64 V l))
65.0ms
V
64.0ms
c0
Results
ErrorSegmentsBranch
17.8b4c0
10.7b2A
14.4b5V
14.2b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
13.9b3(/.f64 A (*.f64 V l))
9.1b4(*.f64 V l)
9.1b4(*.f64 V l)
Compiler

Compiled 335 to 154 computations (54% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-3.7969694183366423e+136
-2.0768369597168216e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes423.0ms (2.8%)

Counts
23 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
Outputs
(/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
Calls

9 calls:

79.0ms
(*.f64 V l)
63.0ms
(*.f64 V l)
52.0ms
c0
52.0ms
V
48.0ms
(/.f64 A (*.f64 V l))
Results
ErrorSegmentsBranch
17.8b4c0
11.6b2A
14.5b5V
14.9b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
9.9b4(*.f64 V l)
9.9b4(*.f64 V l)
Compiler

Compiled 280 to 137 computations (51.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-3.7969694183366423e+136
-2.0768369597168216e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes265.0ms (1.8%)

Counts
21 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
Calls

9 calls:

48.0ms
V
34.0ms
(*.f64 V l)
33.0ms
(*.f64 V l)
32.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
28.0ms
c0
Results
ErrorSegmentsBranch
19.2b2c0
11.6b2A
14.5b5V
14.9b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
9.9b4(*.f64 V l)
9.9b4(*.f64 V l)
Compiler

Compiled 262 to 130 computations (50.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-2.363497123083259e+154
-7.858441967194761e+141
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes270.0ms (1.8%)

Counts
20 → 4
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
Outputs
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A))
Calls

9 calls:

50.0ms
V
37.0ms
(*.f64 V l)
33.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
32.0ms
(*.f64 V l)
30.0ms
c0
Results
ErrorSegmentsBranch
19.2b2c0
11.6b2A
14.5b5V
14.9b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
9.9b4(*.f64 V l)
9.9b4(*.f64 V l)
Compiler

Compiled 253 to 128 computations (49.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.727418176913454e-291
0.0ms
-1.5302795100432382e-15
-9.227092803460273e-23
0.0ms
-3.7969694183366423e+136
-2.0768369597168216e+133
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes473.0ms (3.2%)

Counts
19 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
Outputs
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))
Calls

9 calls:

190.0ms
V
60.0ms
c0
40.0ms
A
37.0ms
l
33.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
19.2b2c0
16.0b2A
15.1b6V
17.1b2l
15.1b5(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.9b3(sqrt.f64 (/.f64 A (*.f64 V l)))
13.9b3(/.f64 A (*.f64 V l))
14.6b4(*.f64 V l)
14.6b4(*.f64 V l)
Compiler

Compiled 244 to 124 computations (49.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.732799778727431e+303
+inf
0.0ms
0.0
5e-324
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes280.0ms (1.9%)

Counts
18 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (pow.f64 (*.f64 V (/.f64 l A)) -1/2))
(*.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) 1/2))
(sqrt.f64 (/.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) l) V))
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 V (/.f64 A l))) c0))
(/.f64 1 (/.f64 (sqrt.f64 (*.f64 V (/.f64 l A))) c0))
(sqrt.f64 (/.f64 (*.f64 A (*.f64 c0 c0)) (*.f64 V l)))
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
(*.f64 c0 (/.f64 1 (sqrt.f64 (/.f64 l (/.f64 A V)))))
(sqrt.f64 (*.f64 (/.f64 (/.f64 A V) l) (*.f64 c0 c0)))
(*.f64 c0 (/.f64 1 (pow.f64 (/.f64 A (*.f64 l V)) -1/2)))
(/.f64 c0 (*.f64 (sqrt.f64 (/.f64 l A)) (sqrt.f64 V)))
Outputs
(*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
Calls

9 calls:

83.0ms
V
38.0ms
(*.f64 V l)
34.0ms
l
24.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
22.0ms
(*.f64 V l)
Results
ErrorSegmentsBranch
20.6b1c0
18.9b2A
16.9b5V
18.9b2l
17.2b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
16.6b3(sqrt.f64 (/.f64 A (*.f64 V l)))
16.6b3(/.f64 A (*.f64 V l))
19.2b2(*.f64 V l)
19.2b2(*.f64 V l)
Compiler

Compiled 235 to 120 computations (48.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.885894112660977e+265
1.2359068313066223e+266
0.0ms
0.0
5e-324
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes88.0ms (0.6%)

Counts
6 → 3
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (pow.f64 (/.f64 (/.f64 A V) l) -1/2))
Outputs
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
Calls

8 calls:

14.0ms
l
13.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
13.0ms
V
12.0ms
(*.f64 V l)
10.0ms
(/.f64 A (*.f64 V l))
Results
ErrorSegmentsBranch
20.6b1c0
19.3b2A
19.5b2V
18.9b2l
17.2b4(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
16.6b3(sqrt.f64 (/.f64 A (*.f64 V l)))
16.6b3(/.f64 A (*.f64 V l))
19.4b2(*.f64 V l)
Compiler

Compiled 111 to 68 computations (38.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.885894112660977e+265
1.2359068313066223e+266
0.0ms
2.024326141167e-312
1.4249759642245e-311
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes35.0ms (0.2%)

Accuracy

Total -12.5b remaining (-64.9%)

Threshold costs -12.5b (-64.9%)

Counts
4 → 2
Calls
Call 1
Inputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
Outputs
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A)))
Calls

4 calls:

10.0ms
V
10.0ms
A
9.0ms
l
4.0ms
c0
Results
ErrorSegmentsBranch
20.6b1c0
19.3b2A
19.5b2V
19.2b2l
Compiler

Compiled 56 to 35 computations (37.5% saved)

bsearch4.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
2.797143569951925e-115
1.3960450263127316e-114
Compiler

Compiled 45 to 32 computations (28.9% saved)

simplify40.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01221068
11511068
21601068
31661068
41691068
51701068
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) -inf.0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) -7796251209119999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -8535058474086213/1707011694817242694164442058424641996069058130512872489061441999811593532881313810309486643423117898430190057111918909554147533223454557460573019149396692491800360340355587726966548041193424390330615044130786970107312831497593974090537952608256) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (/.f64 A (*.f64 V l)) 9999999999999999392535525055364621860040287220117324953190771571323204563013233902843309257440507748436856118056162172578717193742636030530235798840866882774987301441682011041067710253162440905843719802548551599076639682550821832659549112269607949805346034918662572406407604380845959862074904348138143744) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))
(if (<=.f64 l 2772669694120815/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
Outputs
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (/.f64 1 (/.f64 (sqrt.f64 l) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V)))))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (*.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 V))) (pow.f64 l -1/2))) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))
(if (<=.f64 (*.f64 V l) -inf.0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) -7796251209119999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) -7796251209119999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) -7796251209119999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 V (neg.f64 l))))) (if (<=.f64 (*.f64 V l) 0) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2)) (if (<=.f64 (*.f64 V l) 4999999999999999906743388603115020788907780359910290665049241860223423941639750419942148863391427290368681348502011290786385146843522467955007764480084024749443603611970102342099448132228169829243943975742290002451379260550207232245491981306595417943121645130212363962285255265070690291922501632) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))) (*.f64 c0 (pow.f64 (*.f64 (cbrt.f64 (/.f64 l A)) (cbrt.f64 V)) -3/2))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -8535058474086213/1707011694817242694164442058424641996069058130512872489061441999811593532881313810309486643423117898430190057111918909554147533223454557460573019149396692491800360340355587726966548041193424390330615044130786970107312831497593974090537952608256) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -8535058474086213/1707011694817242694164442058424641996069058130512872489061441999811593532881313810309486643423117898430190057111918909554147533223454557460573019149396692491800360340355587726966548041193424390330615044130786970107312831497593974090537952608256) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 l (neg.f64 V))))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -inf.0) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -8535058474086213/1707011694817242694164442058424641996069058130512872489061441999811593532881313810309486643423117898430190057111918909554147533223454557460573019149396692491800360340355587726966548041193424390330615044130786970107312831497593974090537952608256) (*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (*.f64 V (neg.f64 l))))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 c0 (*.f64 (pow.f64 l -1/2) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 l V) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (*.f64 (pow.f64 (*.f64 V l) -1/2) (sqrt.f64 A))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))) c0))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 (/.f64 c0 (sqrt.f64 l)) (sqrt.f64 (/.f64 V A))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (*.f64 V l) -20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (/.f64 c0 (sqrt.f64 (*.f64 l V))) (sqrt.f64 A)))))
(if (<=.f64 (*.f64 V l) -20000000000000001173281225401480239510924085727794608776187427091019642704107631219009550715922787179608060751714014998753604207233728512) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (*.f64 V l) -2535301200456459/2535301200456458802993406410752) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (if (<=.f64 (*.f64 V l) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (*.f64 (sqrt.f64 A) (/.f64 c0 (sqrt.f64 (*.f64 V l)))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V)))) (if (<=.f64 (/.f64 A (*.f64 V l)) 9999999999999999392535525055364621860040287220117324953190771571323204563013233902843309257440507748436856118056162172578717193742636030530235798840866882774987301441682011041067710253162440905843719802548551599076639682550821832659549112269607949805346034918662572406407604380845959862074904348138143744) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (/.f64 (sqrt.f64 l) (sqrt.f64 (/.f64 A V))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 0) (*.f64 c0 (pow.f64 (/.f64 V (/.f64 A l)) -1/2)) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))))
(if (<=.f64 (/.f64 A (*.f64 V l)) 809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (/.f64 A (*.f64 V l)) 100000000000000003071603269111014971471508642847250073203719093632845102290734406131617241518267700770571769927225306004888484302202258708981207125345588886413817469658847334809978790776999353375325137186550055668797052865128496484823152800700833072414104710501367808) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))))
(if (<=.f64 l 2772669694120815/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V))) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 l V) A))))
(if (<=.f64 l 2772669694120815/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A)))) (/.f64 c0 (sqrt.f64 (/.f64 (*.f64 V l) A))))
(/.f64 c0 (sqrt.f64 (*.f64 (/.f64 l A) V)))
(/.f64 c0 (sqrt.f64 (*.f64 V (/.f64 l A))))
Compiler

Compiled 760 to 405 computations (46.7% saved)

soundness0.0ms (0%)

end189.0ms (1.3%)

Compiler

Compiled 868 to 296 computations (65.9% saved)

Profiling

Loading profile data...