Details

Time bar (total: 21.8s)

analyze2.7s (12.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
7.8%92%0.2%9
7.8%92%0.2%10
10.1%89.7%0.2%11
10.1%89.7%0.2%12
13.9%85.9%0.2%13
13.9%85.9%0.2%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample202.0ms (0.9%)

Algorithm
intervals
Results
141.0ms166×body1024valid
29.0ms46×body512valid
8.0msbody2048valid
4.0ms29×body128valid
4.0ms12×body256valid
Compiler

Compiled 49 to 39 computations (20.4% saved)

simplify118.0ms (0.5%)

Algorithm
egg-herbie
Rules
83×cancel-sign-sub-inv_binary64_2431
59×distribute-rgt-neg-in_binary64_2423
56×sub-neg_binary64_2458
47×distribute-rgt-in_binary64_2415
42×unsub-neg_binary64_2459
41×neg-mul-1_binary64_2461
35×neg-sub0_binary64_2460
34×distribute-lft-neg-in_binary64_2422 distribute-lft-in_binary64_2414
28×distribute-lft-neg-out_binary64_2424 associate--r+_binary64_2401
25×associate-*r*_binary64_2405
23×*-commutative_binary64_2396
21×+-commutative_binary64_2395
18×+-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 distribute-neg-in_binary64_2426 distribute-rgt-neg-out_binary64_2425
16×associate-+l-_binary64_2400
14×sub0-neg_binary64_2452
13×associate-*l*_binary64_2406
12×remove-double-neg_binary64_2453
10×*-lft-identity_binary64_2454
--rgt-identity_binary64_2451 associate--r-_binary64_2404
associate-+l+_binary64_2398
*-rgt-identity_binary64_2455
sin-neg_binary64_2595
cos-neg_binary64_2596 +-rgt-identity_binary64_2450 associate--l+_binary64_2402 associate-+r-_binary64_2399 associate-+r+_binary64_2397
1-exp_binary64_2509 cancel-sign-sub_binary64_2430
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 log-div_binary64_2552 log-prod_binary64_2551 pow-base-0_binary64_2549 unpow1/3_binary64_2532 unpow3_binary64_2531 unpow2_binary64_2530 unpow1/2_binary64_2529 pow-plus_binary64_2528 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow1_binary64_2523 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 exp-prod_binary64_2517 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 exp-diff_binary64_2513 exp-neg_binary64_2512 exp-sum_binary64_2511 e-exp-1_binary64_2510 exp-1-e_binary64_2508 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-unmult_binary64_2502 cube-mult_binary64_2495 cube-div_binary64_2494 cube-prod_binary64_2493 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 sqr-neg_binary64_2479 rem-sqrt-square_binary64_2478 rem-square-sqrt_binary64_2477 times-frac_binary64_2471 div-sub_binary64_2470 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 div0_binary64_2446 *-inverses_binary64_2445 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 pow-sqr_binary64_2438 sqr-pow_binary64_2437 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 unswap-sqr_binary64_2433 swap-sqr_binary64_2432 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt1-in_binary64_2421 distribute-lft1-in_binary64_2420 distribute-rgt-out--_binary64_2419 distribute-rgt-out_binary64_2418 distribute-lft-out--_binary64_2417 distribute-lft-out_binary64_2416 count-2_binary64_2413 associate-/l/_binary64_2412 associate-/r/_binary64_2411 associate-/l*_binary64_2410 associate-/r*_binary64_2409 associate-*l/_binary64_2408 associate-*r/_binary64_2407 associate--l-_binary64_2403
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01839
13139
25939
310539
412939
519639
624839
730939
842039
943039
1043639
1138539

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
11.6b
Counts
2 → 1
Compiler

Compiled 48 to 34 computations (29.2% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
4.0b
(cos.f64 (-.f64 lambda1 lambda2))
4.0b
(sin.f64 (-.f64 lambda1 lambda2))

rewrite112.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
5.4b
Rules
11×add-sqr-sqrt_binary64_2487 pow1_binary64_2526 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
add-cube-cbrt_binary64_2500 *-un-lft-identity_binary64_2465
cancel-sign-sub-inv_binary64_2431 associate-*r*_binary64_2405
sin-sum_binary64_2598 add-log-exp_binary64_2504 cos-sum_binary64_2599 pow-prod-down_binary64_2536 prod-exp_binary64_2514 cbrt-unprod_binary64_2498 associate-*l*_binary64_2406
cos-diff_binary64_2602
sub-neg_binary64_2458 *-commutative_binary64_2396
sin-diff_binary64_2601 distribute-rgt-in_binary64_2415 distribute-lft-in_binary64_2414 sin-cos-mult_binary64_2621 associate-*l/_binary64_2408 unswap-sqr_binary64_2433
Counts
4 → 63
Calls

4 calls:

8.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 2012 to 363 computations (82% saved)

series651.0ms (3%)

Error
7.8b
Counts
4 → 55
Calls

4 calls:

365.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
106.0ms
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
58.0ms
(sin.f64 (-.f64 lambda1 lambda2))
52.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4115 to 1962 computations (52.3% saved)

simplify137.0ms (0.6%)

Algorithm
egg-herbie
Rules
576×cancel-sign-sub-inv_binary64_2431
417×sub-neg_binary64_2458
376×neg-mul-1_binary64_2461
349×distribute-rgt-neg-in_binary64_2423
347×associate-*r*_binary64_2405
345×neg-sub0_binary64_2460
334×associate-*l*_binary64_2406
312×distribute-lft-neg-in_binary64_2422
214×*-commutative_binary64_2396
185×unsub-neg_binary64_2459
115×+-commutative_binary64_2395
109×sqr-pow_binary64_2437
79×distribute-lft-neg-out_binary64_2424
72×associate-+l-_binary64_2400
68×unswap-sqr_binary64_2433
67×associate--l+_binary64_2402
66×distribute-rgt-out--_binary64_2419
62×distribute-rgt-out_binary64_2418 associate-+r-_binary64_2399
58×distribute-rgt-neg-out_binary64_2425
53×associate-+l+_binary64_2398
44×cancel-sign-sub_binary64_2430
42×cube-prod_binary64_2493 associate-+r+_binary64_2397
41×associate--r+_binary64_2401
38×+-rgt-identity_binary64_2450
37×exp-prod_binary64_2517 sub0-neg_binary64_2452
34×swap-sqr_binary64_2432
33×log-prod_binary64_2551 *-rgt-identity_binary64_2455
28×remove-double-neg_binary64_2453
27×*-lft-identity_binary64_2454
22×cube-unmult_binary64_2502 distribute-lft-out--_binary64_2417
21×distribute-neg-in_binary64_2426
19×distribute-rgt-in_binary64_2415
17×unpow3_binary64_2531 pow-sqr_binary64_2438
11×rem-sqrt-square_binary64_2478
unpow1/2_binary64_2529
pow-plus_binary64_2528 distribute-neg-out_binary64_2427
distribute-rgt1-in_binary64_2421 associate--l-_binary64_2403
sin-neg_binary64_2595 cube-mult_binary64_2495 difference-of-squares_binary64_2434
cos-neg_binary64_2596 distribute-lft-out_binary64_2416 distribute-lft-in_binary64_2414
unpow2_binary64_2530 unpow1_binary64_2523
mul0-rgt_binary64_2448 mul0-lft_binary64_2447
exp-sum_binary64_2511
1-exp_binary64_2509 exp-1-e_binary64_2508 cube-neg_binary64_2492 rem-3cbrt-lft_binary64_2490 sqr-neg_binary64_2479 rem-square-sqrt_binary64_2477
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 log-div_binary64_2552 pow-base-0_binary64_2549 unpow1/3_binary64_2532 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 exp-diff_binary64_2513 exp-neg_binary64_2512 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-div_binary64_2494 rem-3cbrt-rft_binary64_2491 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 times-frac_binary64_2471 div-sub_binary64_2470 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 --rgt-identity_binary64_2451 +-lft-identity_binary64_2449 div0_binary64_2446 *-inverses_binary64_2445 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 distribute-lft1-in_binary64_2420 count-2_binary64_2413 associate-/l/_binary64_2412 associate-/r/_binary64_2411 associate-/l*_binary64_2410 associate-/r*_binary64_2409 associate-*l/_binary64_2408 associate-*r/_binary64_2407 associate--r-_binary64_2404
Counts
118 → 171
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02642238
16861979
220841867
337841867
447051863
549721863

prune257.0ms (1.2%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New15219171
Fresh000
Picked101
Done000
Total15319172
Error
5.3b
Counts
172 → 19
Compiler

Compiled 6609 to 1549 computations (76.6% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.2b
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
4.0b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite137.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
14×add-sqr-sqrt_binary64_2487
13×pow1_binary64_2526 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
10×add-cube-cbrt_binary64_2500 *-un-lft-identity_binary64_2465
associate-*r*_binary64_2405
associate-*l*_binary64_2406
pow-prod-down_binary64_2536 prod-exp_binary64_2514 cbrt-unprod_binary64_2498
cos-sum_binary64_2599 add-log-exp_binary64_2504
cos-diff_binary64_2602 cancel-sign-sub-inv_binary64_2431 associate-*l/_binary64_2408 *-commutative_binary64_2396
unswap-sqr_binary64_2433
sub-neg_binary64_2458 distribute-rgt-in_binary64_2415 distribute-lft-in_binary64_2414 sin-cos-mult_binary64_2621 flip3--_binary64_2469 flip--_binary64_2440
Counts
4 → 71
Calls

4 calls:

8.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
7.0ms
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
5.0ms
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 2860 to 385 computations (86.5% saved)

series989.0ms (4.5%)

Error
5.0b
Counts
4 → 57
Calls

4 calls:

375.0ms
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
363.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
112.0ms
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
63.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 5377 to 2610 computations (51.5% saved)

simplify159.0ms (0.7%)

Algorithm
egg-herbie
Rules
643×cancel-sign-sub-inv_binary64_2431
435×associate-*r*_binary64_2405
420×associate-*l*_binary64_2406
361×distribute-rgt-neg-in_binary64_2423
319×distribute-lft-neg-in_binary64_2422
301×neg-mul-1_binary64_2461
300×neg-sub0_binary64_2460
261×*-commutative_binary64_2396
143×sub-neg_binary64_2458
138×distribute-rgt-in_binary64_2415
86×+-commutative_binary64_2395
76×sqr-pow_binary64_2437
74×exp-prod_binary64_2517 distribute-rgt-out_binary64_2418
72×distribute-rgt-out--_binary64_2419
59×distribute-lft-neg-out_binary64_2424
53×cube-prod_binary64_2493
48×associate--l+_binary64_2402
40×distribute-neg-in_binary64_2426
38×log-prod_binary64_2551 unsub-neg_binary64_2459 associate--r+_binary64_2401
37×*-rgt-identity_binary64_2455
35×distribute-rgt-neg-out_binary64_2425
32×*-lft-identity_binary64_2454
31×swap-sqr_binary64_2432
30×associate-+l+_binary64_2398
24×unpow3_binary64_2531
21×unswap-sqr_binary64_2433 distribute-lft-out--_binary64_2417
19×associate-+r+_binary64_2397
18×cube-unmult_binary64_2502
14×exp-sum_binary64_2511
13×distribute-lft-in_binary64_2414
12×cube-mult_binary64_2495
pow-plus_binary64_2528
unpow1/2_binary64_2529 remove-double-neg_binary64_2453 distribute-lft-out_binary64_2416
distribute-rgt1-in_binary64_2421
exp-diff_binary64_2513 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430
unpow2_binary64_2530 unpow1_binary64_2523 exp-neg_binary64_2512 sqr-neg_binary64_2479 rem-sqrt-square_binary64_2478
cos-neg_binary64_2596 sin-neg_binary64_2595 pow-sqr_binary64_2438
distribute-neg-out_binary64_2427 associate-+r-_binary64_2399
1-exp_binary64_2509 exp-1-e_binary64_2508 cube-neg_binary64_2492 rem-3cbrt-lft_binary64_2490 rem-square-sqrt_binary64_2477 div-sub_binary64_2470 mul-1-neg_binary64_2457 +-rgt-identity_binary64_2450 distribute-lft1-in_binary64_2420 associate--l-_binary64_2403
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 log-div_binary64_2552 pow-base-0_binary64_2549 unpow1/3_binary64_2532 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-div_binary64_2494 rem-3cbrt-rft_binary64_2491 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 times-frac_binary64_2471 /-rgt-identity_binary64_2456 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 *-inverses_binary64_2445 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 count-2_binary64_2413 associate-/l/_binary64_2412 associate-/r/_binary64_2411 associate-/l*_binary64_2410 associate-/r*_binary64_2409 associate-*l/_binary64_2408 associate-*r/_binary64_2407 associate--r-_binary64_2404 associate-+l-_binary64_2400
Counts
128 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03052969
18322637
226812517
344882517
449962517
549622517

prune261.0ms (1.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1665171
Fresh12618
Picked101
Done000
Total17911190
Error
0.0b
Counts
190 → 11
Compiler

Compiled 7602 to 1269 computations (83.3% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
0.2b
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))

rewrite163.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
29×pow1_binary64_2526 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
16×pow-prod-down_binary64_2536 prod-exp_binary64_2514 cbrt-unprod_binary64_2498
13×add-sqr-sqrt_binary64_2487
10×associate-*l*_binary64_2406
add-cube-cbrt_binary64_2500 *-un-lft-identity_binary64_2465
associate-*r*_binary64_2405
add-log-exp_binary64_2504 *-commutative_binary64_2396
sin-mult_binary64_2620 associate-*l/_binary64_2408
unswap-sqr_binary64_2433 sin-cos-mult_binary64_2621
frac-times_binary64_2475 associate-*r/_binary64_2407 flip3--_binary64_2469 flip--_binary64_2440
Counts
4 → 85
Calls

4 calls:

9.0ms
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
9.0ms
(*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
7.0ms
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
5.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 4522 to 515 computations (88.6% saved)

series1.6s (7.1%)

Error
0.0b
Counts
4 → 63
Calls

4 calls:

483.0ms
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
476.0ms
(*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
404.0ms
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
115.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 8128 to 3335 computations (59% saved)

simplify120.0ms (0.6%)

Algorithm
egg-herbie
Rules
836×associate-*r*_binary64_2405
816×cancel-sign-sub-inv_binary64_2431
683×associate-*l*_binary64_2406
349×*-commutative_binary64_2396
151×sub-neg_binary64_2458
97×exp-prod_binary64_2517
94×+-commutative_binary64_2395
91×log-prod_binary64_2551
88×swap-sqr_binary64_2432
83×neg-sub0_binary64_2460
82×neg-mul-1_binary64_2461
76×sqr-pow_binary64_2437
57×cube-prod_binary64_2493
52×associate--l+_binary64_2402
44×unswap-sqr_binary64_2433
42×distribute-rgt-neg-in_binary64_2423
41×associate--r+_binary64_2401
39×associate-+l+_binary64_2398
37×distribute-lft-neg-in_binary64_2422
32×unsub-neg_binary64_2459 associate-+r+_binary64_2397
29×*-rgt-identity_binary64_2455
26×*-lft-identity_binary64_2454
21×distribute-rgt-in_binary64_2415 distribute-lft-in_binary64_2414
18×distribute-neg-in_binary64_2426
11×cube-unmult_binary64_2502
10×unpow3_binary64_2531
exp-sum_binary64_2511
cube-mult_binary64_2495
distribute-lft-neg-out_binary64_2424
pow-sqr_binary64_2438 difference-of-squares_binary64_2434
unpow2_binary64_2530 unpow1/2_binary64_2529 unpow1_binary64_2523 distribute-rgt-out--_binary64_2419
exp-diff_binary64_2513
1-exp_binary64_2509 exp-1-e_binary64_2508 mul-1-neg_binary64_2457 distribute-lft1-in_binary64_2420 distribute-rgt-out_binary64_2418
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-pow_binary64_2554 log-rec_binary64_2553 log-div_binary64_2552 pow-base-0_binary64_2549 unpow1/3_binary64_2532 pow-plus_binary64_2528 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-lft-sqr_binary64_2520 exp-cbrt_binary64_2519 exp-sqrt_binary64_2518 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 exp-neg_binary64_2512 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-div_binary64_2494 cube-neg_binary64_2492 rem-3cbrt-rft_binary64_2491 rem-3cbrt-lft_binary64_2490 rem-cbrt-cube_binary64_2489 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 sqr-neg_binary64_2479 rem-sqrt-square_binary64_2478 rem-square-sqrt_binary64_2477 times-frac_binary64_2471 div-sub_binary64_2470 /-rgt-identity_binary64_2456 remove-double-neg_binary64_2453 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 *-inverses_binary64_2445 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 cancel-sign-sub_binary64_2430 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt-neg-out_binary64_2425 distribute-rgt1-in_binary64_2421 distribute-lft-out--_binary64_2417 distribute-lft-out_binary64_2416 count-2_binary64_2413 associate-/l/_binary64_2412 associate-/r/_binary64_2411 associate-/l*_binary64_2410 associate-/r*_binary64_2409 associate-*l/_binary64_2408 associate-*r/_binary64_2407 associate--r-_binary64_2404 associate--l-_binary64_2403 associate-+l-_binary64_2400 associate-+r-_binary64_2399
Counts
148 → 173
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03414035
19763525
237083525
352633525

prune254.0ms (1.2%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1694173
Fresh2810
Picked101
Done000
Total17212184
Error
0.0b
Counts
184 → 12
Compiler

Compiled 10138 to 1367 computations (86.5% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1)))
0.6b
(cbrt.f64 (sin.f64 lambda1))
0.6b
(cbrt.f64 (sin.f64 lambda1))
0.6b
(cbrt.f64 (sin.f64 lambda1))

rewrite136.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×cbrt-prod_binary64_2496
23×add-sqr-sqrt_binary64_2487
15×add-cube-cbrt_binary64_2500 *-un-lft-identity_binary64_2465
11×pow1_binary64_2526
pow1/3_binary64_2547
add-exp-log_binary64_2503 swap-sqr_binary64_2432 associate-*l*_binary64_2406 associate-*r*_binary64_2405
add-log-exp_binary64_2504 add-cbrt-cube_binary64_2501 unswap-sqr_binary64_2433
pow-prod-down_binary64_2536 pow-prod-up_binary64_2535 pow-sqr_binary64_2438
pow2_binary64_2546 pow-plus_binary64_2528 prod-exp_binary64_2514 cbrt-unprod_binary64_2498 *-commutative_binary64_2396
Counts
4 → 73
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1)))
2.0ms
(cbrt.f64 (sin.f64 lambda1))
2.0ms
(cbrt.f64 (sin.f64 lambda1))
1.0ms
(cbrt.f64 (sin.f64 lambda1))
Compiler

Compiled 4285 to 546 computations (87.3% saved)

series345.0ms (1.6%)

Error
0.0b
Counts
4 → 16
Calls

4 calls:

92.0ms
(*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1)))
80.0ms
(cbrt.f64 (sin.f64 lambda1))
77.0ms
(cbrt.f64 (sin.f64 lambda1))
72.0ms
(cbrt.f64 (sin.f64 lambda1))
Compiler

Compiled 2462 to 1143 computations (53.6% saved)

simplify89.0ms (0.4%)

Algorithm
egg-herbie
Rules
586×log-prod_binary64_2551
462×sqr-pow_binary64_2437
307×*-commutative_binary64_2396
294×associate-*l*_binary64_2406
293×associate-/l/_binary64_2412
196×associate-*r*_binary64_2405
188×exp-prod_binary64_2517
178×distribute-rgt-out_binary64_2418
164×cube-prod_binary64_2493
136×pow-sqr_binary64_2438
115×swap-sqr_binary64_2432
112×unswap-sqr_binary64_2433
104×associate-/l*_binary64_2410
81×log-pow_binary64_2554
78×distribute-rgt-neg-in_binary64_2423
77×associate-+l+_binary64_2398
69×associate-+r+_binary64_2397
64×distribute-lft-neg-in_binary64_2422
61×distribute-rgt-in_binary64_2415
60×distribute-lft-out_binary64_2416
57×distribute-lft-in_binary64_2414
54×+-commutative_binary64_2395
52×cancel-sign-sub-inv_binary64_2431
50×pow-plus_binary64_2528
45×count-2_binary64_2413
43×rem-sqrt-square_binary64_2478
41×times-frac_binary64_2471
38×sub-neg_binary64_2458
37×unpow3_binary64_2531 associate-/r/_binary64_2411
35×associate-*r/_binary64_2407
32×cube-mult_binary64_2495 neg-mul-1_binary64_2461
31×*-rgt-identity_binary64_2455 *-lft-identity_binary64_2454
30×neg-sub0_binary64_2460
24×associate-/r*_binary64_2409
19×cube-unmult_binary64_2502
18×distribute-rgt1-in_binary64_2421
17×log-div_binary64_2552 cube-div_binary64_2494
12×distribute-neg-in_binary64_2426
10×unpow1/2_binary64_2529 distribute-lft1-in_binary64_2420
unpow2_binary64_2530 associate-*l/_binary64_2408
unpow1/3_binary64_2532 distribute-lft-neg-out_binary64_2424 associate--r+_binary64_2401
unpow1_binary64_2523
sub0-neg_binary64_2452 associate-+l-_binary64_2400
exp-sqrt_binary64_2518 rem-3cbrt-lft_binary64_2490 rem-cbrt-cube_binary64_2489 remove-double-neg_binary64_2453 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 distribute-rgt-neg-out_binary64_2425 associate-+r-_binary64_2399
exp-lft-sqr_binary64_2520 1-exp_binary64_2509 exp-1-e_binary64_2508 rem-3cbrt-rft_binary64_2491 rem-square-sqrt_binary64_2477
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2728 erf-erfc_binary64_2727 erf-odd_binary64_2726 if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 not-gte_binary64_2717 not-lte_binary64_2716 not-gt_binary64_2715 not-lt_binary64_2714 gte-same_binary64_2713 lte-same_binary64_2712 gt-same_binary64_2711 lt-same_binary64_2710 sinh---cosh_binary64_2657 sinh-+-cosh_binary64_2656 sinh-cosh_binary64_2655 tanh-def-c_binary64_2654 tanh-def-b_binary64_2653 tanh-def-a_binary64_2652 cosh-def_binary64_2651 sinh-def_binary64_2650 tan-neg_binary64_2597 cos-neg_binary64_2596 sin-neg_binary64_2595 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 hang-m-tan_binary64_2591 hang-p-tan_binary64_2590 hang-m0-tan_binary64_2589 hang-p0-tan_binary64_2588 hang-0m-tan_binary64_2587 hang-0p-tan_binary64_2586 tan-+PI/2_binary64_2585 tan-+PI_binary64_2584 tan-PI_binary64_2583 tan-PI/3_binary64_2582 tan-PI/4_binary64_2581 tan-PI/6_binary64_2580 cos-+PI/2_binary64_2579 cos-+PI_binary64_2578 cos-PI_binary64_2577 cos-PI/2_binary64_2576 cos-PI/3_binary64_2575 cos-PI/4_binary64_2574 cos-PI/6_binary64_2573 sin-+PI/2_binary64_2572 sin-+PI_binary64_2571 sin-PI_binary64_2570 sin-PI/2_binary64_2569 sin-PI/3_binary64_2568 sin-PI/4_binary64_2567 sin-PI/6_binary64_2566 sub-1-sin_binary64_2565 sub-1-cos_binary64_2564 -1-add-sin_binary64_2563 -1-add-cos_binary64_2562 1-sub-sin_binary64_2561 1-sub-cos_binary64_2560 cos-sin-sum_binary64_2559 log-E_binary64_2555 log-rec_binary64_2553 pow-base-0_binary64_2549 exp-to-pow_binary64_2527 pow-base-1_binary64_2525 unpow0_binary64_2524 unpow-1_binary64_2522 exp-lft-cube_binary64_2521 exp-cbrt_binary64_2519 div-exp_binary64_2516 rec-exp_binary64_2515 prod-exp_binary64_2514 exp-diff_binary64_2513 exp-neg_binary64_2512 exp-sum_binary64_2511 e-exp-1_binary64_2510 exp-0_binary64_2507 rem-log-exp_binary64_2506 rem-exp-log_binary64_2505 cube-neg_binary64_2492 rem-cube-cbrt_binary64_2488 sqr-abs_binary64_2480 sqr-neg_binary64_2479 div-sub_binary64_2470 unsub-neg_binary64_2459 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 +-lft-identity_binary64_2449 mul0-rgt_binary64_2448 mul0-lft_binary64_2447 div0_binary64_2446 *-inverses_binary64_2445 +-inverses_binary64_2444 lft-mult-inverse_binary64_2443 rgt-mult-inverse_binary64_2442 remove-double-div_binary64_2441 difference-of-sqr--1_binary64_2436 difference-of-sqr-1_binary64_2435 difference-of-squares_binary64_2434 cancel-sign-sub_binary64_2430 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt-out--_binary64_2419 distribute-lft-out--_binary64_2417 associate--r-_binary64_2404 associate--l-_binary64_2403 associate--l+_binary64_2402
Counts
89 → 107
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0651000
1133922
2352900
31081882
41946770
53036770
64890770

prune158.0ms (0.7%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1070107
Fresh01111
Picked011
Done000
Total10712119
Error
0.0b
Counts
119 → 12
Compiler

Compiled 6197 to 868 computations (86% saved)

regimes2.4s (11%)

Accuracy

Total 0.1b remaining (78.2%)

Threshold costs 0.1b (78.2%)

Compiler

Compiled 34790 to 22040 computations (36.6% saved)

bsearch0.0ms (0%)

simplify9.0ms (0%)

Algorithm
egg-herbie
Rules
25×*-commutative_binary64_2396
18×+-commutative_binary64_2395
17×sub-neg_binary64_2458
15×neg-mul-1_binary64_2461 neg-sub0_binary64_2460
14×distribute-rgt-neg-in_binary64_2423
13×distribute-lft-neg-in_binary64_2422
unsub-neg_binary64_2459 cancel-sign-sub-inv_binary64_2431 distribute-neg-in_binary64_2426
distribute-lft-neg-out_binary64_2424
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_2725 if-if-and_binary64_2724 if-if-or-not_binary64_2723 if-if-or_binary64_2722 if-not_binary64_2721 if-same_binary64_2720 if-false_binary64_2719 if-true_binary64_2718 tan-0_binary64_2594 cos-0_binary64_2593 sin-0_binary64_2592 unpow1_binary64_2523 e-exp-1_binary64_2510 1-exp_binary64_2509 exp-1-e_binary64_2508 exp-0_binary64_2507 sqr-abs_binary64_2480 sqr-neg_binary64_2479 mul-1-neg_binary64_2457 /-rgt-identity_binary64_2456 *-rgt-identity_binary64_2455 *-lft-identity_binary64_2454 remove-double-neg_binary64_2453 sub0-neg_binary64_2452 --rgt-identity_binary64_2451 +-rgt-identity_binary64_2450 +-lft-identity_binary64_2449 cancel-sign-sub_binary64_2430 distribute-neg-frac_binary64_2429 distribute-frac-neg_binary64_2428 distribute-neg-out_binary64_2427 distribute-rgt-neg-out_binary64_2425
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03185
14885
26585
39185
412485
514885
616285
716885
816985
916985

end0.0ms (0%)

sample10.8s (49.4%)

Algorithm
intervals
Results
4.8s5338×body1024valid
712.0ms1305×body512valid
341.0ms177×body2048valid
148.0ms394×body256valid
135.0ms786×body128valid
Compiler

Compiled 5672 to 3587 computations (36.8% saved)

Profiling

Loading profile data...